【我的Java笔记】增强for循环 & ArrayList集合储存自定义对象并遍历的五种方法
2017-11-14 16:10
736 查看
增强for循环
1.增强for循环的作用:在集合中,增强for循环的作用是用来代替迭代器
2.优点:书写格式简单,代码量少
3.弊端:遍历数组或集合的时候,数组对象或者集合对象不能为null(需加上非空判断)
注:在Java中,只要是对象,那么一定要给对象做非空判断,避免出现空指针异常
4.书写格式:
for(数组或者集合中的数据类型 变量名:数组或者集合对象){
变量的输出;
}
例:
import java.util.ArrayList; public class Test2 { public static void main(String[] args) { //创建ArrayList集合对象 ArrayList<String> al = new ArrayList<String>(); //给集合中添加元素 al.add("hello"); al.add("world"); al.add("java"); //给集合对象进行非空判断 if(al!=null) { //使用增强for循环遍历集合 for(String str:al) { System.out.println(str); } } } }
ArrayList集合储存自定义对象并遍历的五种方法
1.使用集合遍历(toArray()方法):import java.util.ArrayList; //测试类 public class StudentTest { public static void main(String[] args) { //创建学生类对象 Student s1 = new Student("国际米兰",14); Student s2 = new Student("罗马",56); Student s3 = new Student("贝尔格莱德",45); //创建ArrayList集合对象 ArrayList<Student> al = new ArrayList<Student>(); al.add(s1); al.add(s2); al.add(s3); //使用toArray()方法将集合转为数组 Object [] obj = al.toArray(); //遍历数组 for(int i=0;i<obj.length;i++) { //将对象obj[i]向下转型 Student s = (Student)obj[i]; //输出 System.out.println(s); } } } //学生类 class Student{ private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "["+name+","+age+"]"; } }
2.Collection集合的迭代器进行集合遍历(Iterator iterator()方法)
import java.util.ArrayList; import java.util.Iterator; //测试类 public class StudentTest { public static void main(String[] args) { System.out.println("使用Collection集合的迭代器Iterator iterator()方法进行集合遍历的结果:"); //创建学生类对象 Student s1 = new Student("国际米兰",14); Student s2 = new Student("罗马",56); Student s3 = new Student("贝尔格莱德",45); //创建ArrayList集合对象 ArrayList<Student> al = new ArrayList<Student>(); al.add(s1); al.add(s2); al.add(s3); //获取迭代器对象 Iterator<Student> it = al.iterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s); } } } //学生类 class Student{ private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "["+name+","+age+"]"; } }
3.List集合的迭代器进行遍历(ListIterator listIterator()方法)
import java.util.ArrayList; import java.util.ListIterator; //测试类 public class StudentTest { public static void main(String[] args) { System.out.println("使用List集合的迭代器ListIterator listIterator()方法进行集合遍历的结果:"); //创建学生类对象 Student s1 = new Student("国际米兰",14); Student s2 = new Student("罗马",56); Student s3 = new Student("贝尔格莱德",45); //创建ArrayList集合对象 ArrayList<Student> al = new ArrayList<Student>(); al.add(s1); al.add(s2); al.add(s3); //获取迭代器对象 ListIterator<Student> it = al.listIterator(); while(it.hasNext()) { Student s = it.next(); System.out.println(s); } } } //学生类 class Student{ private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "["+name+","+age+"]"; } }
4.普通for循环遍历集合(size() 和 get(int index) 方法相结合)
import java.util.ArrayList; //测试类 public class StudentTest { public static void main(String[] args) { System.out.println("使用普通for循环方法进行集合遍历的结果:"); // 创建学生类对象 Student s1 = new Student("国际米兰", 14); Student s2 = new Student("罗马", 56); Student s3 = new Student("贝尔格莱德", 45); // 创建ArrayList集合对象 ArrayList<Student> al = new ArrayList<Student>(); al.add(s1); al.add(s2); al.add(s3); for (int i = 0; i < al.size(); i++) { Student s = al.get(i) 4000 ; System.out.println(s); } } } // 学生类 class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "[" + name + "," + age + "]"; } }
5.增强for循环进行集合的遍历
import java.util.ArrayList; //测试类 public class StudentTest { public static void main(String[] args) { System.out.println("使用增强for循环方法进行集合遍历的结果:"); // 创建学生类对象 Student s1 = new Student("国际米兰", 14); Student s2 = new Student("罗马", 56); Student s3 = new Student("贝尔格莱德", 45); // 创建ArrayList集合对象 ArrayList<Student> al = new ArrayList<Student>(); al.add(s1); al.add(s2); al.add(s3); //使用增强for循环行进遍历 for (Student s:al) { System.out.println(s); } } } // 学生类 class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "[" + name + "," + age + "]"; } }
相关文章推荐
- Java基础知识强化之集合框架笔记24:ArrayList存储自定义对象并遍历
- Java基础知识强化之集合框架笔记69:Collections类之ArrayList存储自自定义对象并排序的案例
- Java基础知识强化之集合框架笔记46:Set集合之TreeSet存储自定义对象并遍历练习2(自然排序)
- Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例
- 集合框架_ArrayList存储自定义对象并遍历增强for版
- Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序)
- Java基础知识强化之集合框架笔记40:Set集合之HashSet存储自定义对象并遍历
- Java基础知识强化之集合框架笔记41:Set集合之HashSet存储自定义对象并遍历练习
- Java基础知识强化之集合框架笔记08:Collection集合自定义对象并遍历案例(使用迭代器)
- java关于集合的遍历与增强for循环的使用
- java增强for循环遍历Map集合问题
- java 遍历map 方法 集合 五种的方法
- Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值
- Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法
- Java基础知识强化之集合框架笔记13:Collection集合存储学生对象并遍历
- 黑马程序员_毕向东JAVA基础_集合(3)Map&Collections&Arrays&增强for循环
- 【java】反射(二)——泛型集合(在ArrayList<Integer>中加入String对象)
- java关于集合的遍历与增强for循环的使用
- Java关于集合(list,set,map)的遍历与增强for循环的使用
- <Head First Java>学习笔记--第四章:方法操作实例变量 对象的行为