1、单列集合 Collection接口
1.List接口
(1)特点
有序(存和取顺序一样)<br /> 可重复<br /> 有索引
(2)常用实现类
ArrayList<br /> 查询快,增删慢<br /> LinkedList<br /> 查询慢,增删快
(3)操作索引的方法
2.Set接口
(1)特点
无序<br /> 不重复<br /> 无索引
(2)常用实现类
HashSet<br /> TreeSet
(3)通用方法
2、双列集合 Map接口
1、Map集合特点
(1)可以同时存键和值(键值对)
键是唯一的,值可以重复
添加时,如果键已经存在,那么值会进行覆盖。
(2)常用方法
put(键,值)
get(键) :根据键获取值
remove(键):根据键删除值
2、Map的遍历
(1)键找值
1. keySet() 方法 获取所有的键的集合<br /> 2. 遍历键的集合,获取每个键<br /> 3.根据键去找值 get(键)<br /> 例:<br />
(2)键值对(推荐)
1. entrySet() 方法 获取 键值对 集合<br /> (Set<Map.Entry<键,值>>)<br /> 2. 遍历 Set集合,得到每个 Map.Entry<键,值> 对象<br /> 3. Map.Entry 封装了获取键值的方法<br /> getKey() 键<br /> getValue() 值
3、HashMap
(1)底层结构是哈希表,可以保证键不重复
(2)保证键不重复的前提:键要重写hashCode 和 equals方法
4、TreeMap
(1)底层结构是红黑树,可以对键进行排序
(2)键排序的前提
方式1:键实现Comparable接口
方式2:集合的构造方法接收比较器对象Comparator