常见的集合有哪些?
Java集合类主要由两个接口Collection和Map派生出来的,Collection有三个子接口:List、Set、Queue。
Java集合框架图如下:
List代表了有序可重复集合,可直接根据元素的索引来访问;Set代表无序不可重复集合,只能根据元素本身来访问;Queue是队列集合。Map代表的是存储key-value对的集合,可根据元素的key来访问value。
集合体系中常用的实现类有ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap
等实现类。
List 、Set和Map 的区别
- List 以索引来存取元素,有序的,元素是允许重复的,可以插入多个null;
- Set 不能存放重复元素,无序的,只允许一个null;
- Map 保存键值对映射;
- List 底层实现有数组、链表两种方式;Set、Map 容器有基于哈希存储和红黑树两种方式实现;
- Set 基于 Map 实现,Set 里的元素值就是 Map的键值。