集合类

概述

Java中用于存储数据的结构除了数组外,还有集合类,相较于一旦创建便不可改变长度的数组,集合类中提供的数据结构更灵活的操作数据。

集合类的层次结构

集合按照储存结构可以分为两种,即单列集合Collection和双列集合Map。集合类都继承自这两大接口。


Collection接口

单列集合类的根接口,用于存储单列的元素。

Collection中两个重要的子接口:

List接口、Set接口。

  • List接口的常用实现类:

    ArrayList、LinkedList。

  • Set接口的常用实现类:

    HashSet、TreeSet。

Collection接口的通用方法如下

方法 描述
boolean add(Object o) 集合中添加一个元素
boolean addAll(Collection c) 将指定Collection中的所有元素添加到该集合中
void clear() 删除该集合中所有元素
boolean remove(Object o) 删除该集合中指定的元素
boolean removeAll(Collection c) 删除该集合中所有元素
boolean isEmpty() 判断该集合是否为空
boolean contains(Object o) 判断该集合中是否包含某个元素
boolean containsAll(Collection c) 判断该集合中是否包含指定集合中的所有元素
Iterator iterator() 返回该集合的迭代器
int size() 获取该集合元素个数

Map接口

双列集合的根接口,用于储存具有键(Key)、值(Value)映射关系的元素,每个元素都包含一个键值对。使用Map集合时可以通过指定的Key找到对应的Value。

Map接口的常用实现类有HashMap、TreeMap、LinkedHashMap、HashTable、ConcurrentHashMap

Map接口的通用方法如下

方法 描述
V put(Object key,Objec value) 将指定的值与此映射中的指定键关联并添加到集合中。如果包含先前的映射,则将旧值替换为新值
V get(Object key) 返回指定键所映射的值,如果此映射不包含该键的映射关系,返回null
boolean containsKey(Object key) 如果此映射包含指定键的映射关系,返回true
boolean containsValue(Object value) 如果映射中包含有一个或多个键映射到指定值,则返回true
Set keySet() 返回此映射中包含的键Set视图
Collection values() 返回此映射中包含的Collection视图
V remove(Object key) 如果删除成功,返回先前的值,如果失败,返回null
boolean remove(Object key,Object value) 删除成功返回true,否则返回false
V replace(K key,V value) 仅当指定键映射到某个值时,新值替换,返回旧值

接下来通过一张图来描述整个集合类的继承体系:

posted on 2021-10-11 22:00  技术小伙伴  阅读(121)  评论(0)    收藏  举报