Java 集合框架概览
Java 集合框架(Collections Framework)是 Java 中用于存储和操作对象组的统一架构。理解集合框架的层次结构和各类集合的特点,是高效使用 Java 集合的基础。本章将 详细介绍 Java 集合框架的整体结构。
Collection 与 Map 层次结构
集合框架的层次结构
Java 集合框架主要分为两个接口体系:
- Collection 接口:存储单个元素的集合
- Map 接口:存储键值对的映射
Collection 接口层次
Collection
├── List(有序、可重复)
│ ├── ArrayList
│ ├── LinkedList
│ └── Vector(已过时)
├── Set(无序、不可重复)
│ ├── HashSet
│ ├── LinkedHashSet
│ └── TreeSet
└── Queue(队列)
├── PriorityQueue
└── Deque
└── ArrayDeque
Map 接口层次
Map
├── HashMap
├── LinkedHashMap
├── TreeMap
└── Hashtable(已过时)
核心接口说明
Collection 接口
所有集合类的根接口,定义了集合的基本操作:
public interface Collection<E> {
// 基本操作
boolean add(E e);
boolean remove(Object o);
boolean contains(Object o);
int size();
boolean isEmpty();
void clear();
// 批量操作
boolean addAll(Collection<? extends E> c);
boolean removeAll(Collection<?> c);
boolean retainAll(Collection<?> c);
// 遍历操作
Iterator<E> iterator();
Object[] toArray();
<T> T[] toArray(T[] a);
}
Map 接口
存储键值对的接口:
public interface Map<K, V> {
// 基本操作
V put(K key, V value);
V get(Object key);
V remove(Object key);
boolean containsKey(Object key);
boolean containsValue(Object value);
int size();
boolean isEmpty();
void clear();
// 视图操作
Set<K> keySet();
Collection<V> values();
Set<Map.Entry<K, V>> entrySet();
}