Java的集合框架

如下图所示,Java集合框架分为两大部分:Collection和Map,共6个接口。

Collection表示容器,Map表示平面图。Collection是立体的,而Map是平面的。

Collection分为List和Set,前者代表有序的集合,后者代表无序的集合。

为弥补Set集合的缺陷和吸收它的优点,创造了SortedSet集合,该集合为保证迭代器按照元素递增顺序遍历的集合。

Map集合也是无序的集合。

为弥补Map集合的缺陷和吸收它的优点,创造了SortedMap集合,该集合为保证按照键的升序排列的映射。

Java为开发者提供了实现。

(1)List的实现

ArrayList:查询速度极快,但增删速度慢。

LinkedList:增删速度极快,但查询速度慢。

Vector:重量级实现,除了与ArrayList功能相同外,能保证线程安全。

(2)Set的实现

HashSet:查询、增删速度都极快,但消耗空间大。

结论:如将自定义类用hashSet来添加对象,一定要覆盖hashcode()和equals(),覆盖的原则是保证当两个对象hashcode返回相同的整数,而且equals()返回值为True。

(3)SortedSet的实现

TreeSet:迭代器按照元素递增顺序遍历,查询速度慢。

(4)Map的实现

HashMap:查询、增删速度都极快,但消耗空间大。

HashTable:重量级实现,除了与HashMap功能相同外,能保证线程安全。

(5)SortedMap的实现

TreeMap:按照键的升序排列,增删速度慢。

本文出自 “小山川” 博客,谢绝转载!

你可能感兴趣的:(集合)