一、Set(集)
1.定义
集合中的对象不按待定方式排序,并且没有重复对象
2.set的实现类:HashSet、TreeSet
(1)HashSet类
定义:按照哈希算法存取集合中的对象
用法:哈希算法判断集合中的元素是否重复,先判断对象的hashcode,然后使用equals()方法
注意事项:为了使HashSet正常工作,类重写equals()方法时必须重写hashcode()方法,以保证两个引用同一对象的两个变量的hashcode也一致
(2)TreeSet类
定义:能够对集合中的对象进行自动排序
用法:集合中的对象必须可以进行比较
注意事项:
自然排序:集合中对象的类必须实现java.lang.Comparable接口,使用compareTo()方法进行比较
自定义排序:如果希望TreeSet类的对象按着自定义方式排序,需要让集合中对象的类实现java。util.Comparator的接口
二、List(列表)
1.定义
集合中的对象按照索引位置进行排序,可以由重复对象,允许按照索引位置索引对象
2.List的实现类:ArrayList、LinkedList
(1)ArrayList:代表长度可变的数组
优点:查询速度较快
缺点:增删改速度较慢
(2)LinkedList:采用链表数据结构,对顺序访问进行优化
优点:增删改速度较快
缺点:查询速度较慢
三、Map(映射)
1.定义
集合中的每个元素包含一个键对象和值对象,集合中没有重复的键对象,值对象可以重复
2.注意事项
Map中存储的元素通常都是由key来表示,所以同一Map中key值不能重复,value值无要求
3.常用方法
put(Object key,Object value); get(Object key); remove(Object key); containsKey(Object key)等
四、Collections(类)
1.定义
提供一系列的基于集合操作的常用静态方法
2.常用方法
sort(List list); shuffle(List list); reverse(List list); copy(List dest,List src); fill(List list,Object o)等