List:有序,可重复性 List接口-->实现类:ArrayList,LinkedList,Vector,Stack
1.ArrayList:线程不安全,底层使用数组实现,可变长度,查询速度快,增删慢。 2.LinkedList:线程安全,链表结构,底层使用链表实现,可变长度,查询速度较慢,增删速度快。 3.Vector:线程安全, Vector 非常类似 ArrayList ,但是 Vector 是同步的。 |
1. ArrayList:线程不安全,底层使用数组实现,可变长度,查询速度快,增删慢 (1)创建ArrayList对象 创建的该集合对象,可以存储任意类型的对象 List list1 =new ArrayList(); List<String> list1 = new ArrayList<String>(); (2)使用ArrayList对象 2.1添加方法add() list1.add("aaa"); list1.add("bbb"); 由于创建集合时使用了泛型,在编译阶段为我们检查了类型安全 list1.add(100); list1.add("bbb"); list1.add("ccc"); 2.2获取集合存储元素个数size() System.out.println("集合中存储的元素个数:"+list1.size()); 2.3获取指定位置存储的元素信息 System.out.println("指定位置为1的元素信息:"+list1.get(1)); 2.4判断集合是否包含指定元素contain(Object o) System.out.println("是否包含aayuan 素"+list1.contains("aa")); (3)循环遍历集合 3.1普通for循环 System.out.println("===使用普通for循环==="); for (int i=0;i<list1.size();i++){ System.out.println(list1.get(i)); } 3.2增强for循环 System.out.println("===增强for循环==="); for (Object o:list1){ String s = (String)o; //有可能发生类型转换异常,由于并,欸有对存储的集合进行限定 System.out.println(s); } for (String s:list1){ System.out.println(s); } 3.3 使用迭代器Iterator循环 System.out.println("===使用迭代器Iterator循环==="); Iterator iterator = list1.iterator(); Iterator中由hasNest()方法来帮助集合中是否存在下一个元素 while(iterator.hasNext()){ System.out.println(iterator.next());//如果下一个有值,输出- } ***********创建使用LinkedList***************** 2.LinkedList:底层采用链表进行实现,查询速度较慢,增删速度块,线程安全 List<String > list2=new LinkedList<>(); list2.add("aaaaaa"); list2.add("bbbbbb"); list2.add("bbbbbb"); list2.add("cccccc"); System.out.println("集合中存储的元素个数为:"+list2.size()); for (String s:list2){ System.out.println(s); } |
![]() |