序言
List、Map、Set可以看做集合的三大类
Java集合就像一个容器,可以将多个对象的引用丢进该容器中。
Collection和Map是Java集合的根接口。
List
List代表一种线性表的数据结构, List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。
ArrayList
是一种顺序存储的线性表。ArrayList 底层采用数组来保存每个集合元素。
线程不安全。
数组适合查找操作,但是查找的时间复杂度并不为O(1),即便是排序好的数据,你用二分查找,时间复杂度也是O(logn),所以正确的表述是,数组支持随机访问,根据下标随机访问的时间复杂度为O(1)
遍历List集合的三种方法
List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); //方法一:foreach for(String attribute : list) { System.out.println(attribute); } //方法二:对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历: for(int i = 0 ; i < list.size() ; i++) { System.out.println(list.get(i)); } //方法三:集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代 Iterator it = list.iterator(); while(it.hasNext()) { System.out.println(it.next()); }