阅读目录
目录
数据结构
Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:
枚举(Enumeration)、位集合(BitSet)、向量(Vector)、栈(Stack)、字典(Dictionary)、哈希表(Hashtable)、属性(Properties)
以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection)
Java 集合框架
Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。
Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。
List、Map、Set的区别与联系
结构特点
List | Set | Map |
---|---|---|
存储单列数据 | 存储单列数据 | 存储键值对 |
有顺序的,并且值允许重复 | 无顺序的,并且不允许重复 | 无序的,它的键是不允许重复的,但是值是允许重复的 |
实现类
List接口:
LinkedList | ArrayList | Vector |
---|---|---|
基于链表实现 | 基于数组实现 | 基于数组实现 |
链表内存是散列的,增删快,查找慢 | 效率高,增删慢,查找快 | 效率低,增删慢,查找慢 |
非线程安全 | 非线程安全 | 线程安全 |
Set接口:
HashSet | LinkedHashSet | TreeSet |
---|---|---|
基于HashMap 实现 | 继承于 HashSet、基于LinkedHashMap实现 | |
重写 equals()和 hash Code()方法 | ||
允许有 null 值 |