Java 容器相关
java 容器
java.util 下的容器
Set
HashSet 基于哈希表实现,不允许重复,值可以为null,但只有一个,无序,没有索引。
LinkedHashSet 和 HashSet 一样,基于哈希表实现,但是在此基础上,多了一个链表,用于维护容器中元素的顺序。
TreeSet 时基于二叉树实现的,确保容器元素处于有序状态。TreeSet支持两种排序方式,自然排序和定制排序,默认自然排序。特点:不允许重复,不可为null,没有索引。
List
ArrayList 基于数组实现,特点是查询块,增删慢。
LinkedList 基于链表实现,特点是查询慢,增删块。
Vector 也是基于数组实现,相对于 ArrayList 速度慢,但是线程安全。
Map
HashMap 相对于 HashTable,不是线程安全的,但是速度快。HashMap 不能保证随着时间的推移 元素的次序不会改变。
HashTable 线程安全。
LinkedHashMap 多了一个链表,用于维护元素的顺序。
TreeMap 是树形结构,速度比HashMap 略慢,需要排序的map时,使用TreeMap。
Collection 和 Collections
Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。
Collections 是集合类的一个工具类,提供一系列的静态方法,用于对集合元素进行操作。