java基础知识(六)

xiaoxiao2021-02-27  446

18.List集合

     ①遍历

     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后,就不同了。

转载请注明原文地址: https://www.6miu.com/read-207.html

最新回复(0)