①遍历
public static void main(String[] args) {
ArrayList<StudentTest> list=new ArrayList<StudentTest>();
list.add(new StudentTest("1","张三"));
list.add(new StudentTest("2","李四"));
//遍历List集合
//第一种方式:使用for循环
for (int i = 0; i < list.size(); i++) {
StudentTest st=list.get(i);
System.out.println(st.getStuno()+" "+st.getName());
}
//第二种方式:使用迭代器,弱点是只能从头到尾,但兼容性好
Iterator it=list.iterator();
while(it.hasNext()){//hasNext判断有没有下一个元素
StudentTest sss=(StudentTest) it.next();//返回迭代的下一个元素
System.out.println(sss.getStuno()+" "+sss.getName());
}
//第三种方式:使用for each
//for each 方式本质还是迭代器 每循环一次 放的就是当前对象的地址 适合List Set Map
for(StudentTest ss:list){
System.out.println(ss.getName());
}
//第四种方式:toArray()将set集合转换成数组,存放的是StudentTest
Object[] o=list.toArray();
for(int i=0;i<o.length;i++){
StudentTest sssss=(StudentTest) o[i];
System.out.println(sssss.getName());
}
for(Object st:o){
System.out.println(st);
}
}
②元素可以重复
public static void main(String[] args) {
ArrayList<StudentTest> list = new ArrayList<StudentTest>();
StudentTest stu =new StudentTest();
stu.setStuno("11");
stu.setName("11");
list.add(stu);
stu.setStuno("12");
stu.setName("12");
list.add(stu);
System.out.println(list);
//重新new
stu =new StudentTest();
stu.setStuno("13");
stu.setName("13");
list.add(stu);
System.out.println(list);
}
结果:[12 12, 12 12]
[12 12, 12 12, 13 13]
程序向list中添加了两次,有两个元素,但只new了一次,添加的是相同的元素,这是和set集合
不同的地方,重新new后,就不同了。