集合类
1.集合:长度可变,存放对象的引用
数组:长度固定、存放基本类型的数据
2.Collection接口 提供add()、remove()、isEmpty()、iterator()、size()方法,对List集合与Set集合通用
3.List集合(包括List接口以及List接口的所有实现类):元素允许重复,各元素的顺序就是对象插入的顺序 get(int index)、set(int index,Object obj)将指定索引位置对象改为指定对象
常用实现类:ArrayList(实现可变数组,允许所有元素,可根据索引位置对集合进行快速随机访问,向指定索引位置插入对象或删除对象的速度较慢)
LinkedList(采用链表结构保存对象,与ArrayList互补)
4.Set集合:不按特定的方式排序,只是简单地把对象加入集合中,不能包含重复对象
常用实现类:HashSet(不保证Set的迭代顺序,不保证该顺序恒久不变,允许使用null元素)
TreeSet(还实现java.util.SortedSet接口,遍历集合时按照自然顺序递增排序,也可按照指定比较器递增排序)
新增方法:first()、last()、comparator()已使用自然顺序,则返回null、headSet(Object obj)返回一个obj对象(不包含)之前的所有对象的新集合、subSet(Object from,Object to)from(包含)对象与to(不包含)对象之间的所有对象的新集合 tailSet(Object to)to(不包含)对象之后的所有对象的新集合
5.Map集合:提供key到value的映射,不能包含相同的key,每个key最多只能映射到一个值(可为null)
接口中常用方法:put(key k,value v);containsValue(Object key);containsValue(Object value);get(Object key);KeySet()返回key对象形成的Set集合;values()返回所有值对象形成的Collection集合
常用实现类:HashMap 添加和删除映射关系的效率更高(建议使用) 允许使用null值和null键 而且读取的时候也不一定按照存的顺序输出,它按照哈希值存储的
TreeMap 映射关系存在一定顺序关系 还实现了java.util.SortedMap接口,不允许键对象是null