集合的四种遍历方式
测试类
main方法,创建对象,添加元素
package com.st.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.function.Consumer;
public class ArrayListTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建Pet宠物对象
Pet p1=new Pet("1001","熊大",8);
Pet p2=new Pet("1002","熊二",8);
Pet p3=new Pet("1003","光头强",45);
//创建集合对象ArrayList对象
ArrayList pets=new ArrayList();
//给集合添加元素,实质将元素保存到数组,而且实现数组自动扩容
pets.add(p1);
pets.add(p2);
pets.add(p3);
1、集合遍历方式一,for循环遍历pets集合对象
读取性能比较高。适用于遍历顺序存储集合。
//获得pets容器元素的个数
int size = pets.size();
System.out.println("-------------方式一------------");
//集合遍历方式一,for循环遍历pets集合对象
for(int i=0;i<size;i++) {
//通过下标获得元素
Object object = pets.get(i);
//向下转型
Pet p=(Pet)object;
System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
}
2、集合遍历方式二,forEach方法,匿名内部类,遍历pets集合
不常用
System.out.println("------------方式二-------------");
//集合遍历方式二,forEach方法,匿名内部类,遍历pets集合
pets.forEach(new Consumer() {
@Override
public void accept(Object t) {
// TODO Auto-generated method stub
//向下转型
Pet p=(Pet)t;
System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
}
});
3、集合遍历方式三,增强for循环遍历pets集合
推荐使用
System.out.println("------------放式三-------------");
//集合遍历方式三,增强for循环遍历pets集合
for(Object obj:pets) {
Pet p=(Pet)obj;
System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
}
4、集合遍历方式四,通过获得集合的迭代器对象
常用
System.out.println("------------方式四-------------");
//集合遍历方式四
//通过获得集合的迭代器对象
Iterator it=pets.iterator();
//如果集合中还有下一个没有遍历的元素,继续向下遍历
while(it.hasNext()) {
//获得遍历到的下一个元素
Object obj=it.next();
Pet p=(Pet)obj;
System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getAge());
}
宠物类
package com.st.list;
/**
* 宠物类
* @author shang
*
*/
public class Pet {
private String id;
private String name;
private Integer age;
public Pet() {
super();
// TODO Auto-generated constructor stub
}
public Pet(String id, String name, Integer age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
还有许多不足的地方需要完善,加油!!!