Java集合框架:
- 常见的数据结构:
1.线性结构:
顺序结构
链式结构
2.树型结构
3.图形结构
Java中常见数据结构:
1.List:线性结构
ArrayList—>动态顺序表 (底层存储空间:一段连续空间)
LinkedList---->双向链表 (底层结构:链式结构)
Stack :栈
Queue :队列
Deque :双端队列
PriorityQueue :优先级队列
2.Map:
树形结构:二叉树
哈希结构:哈希 - JAVA集合框架(Java Collection Framework):被称为容器container,是定义在java.util包下的一组接口interfaces和其实现类classes。
- 常用的java集合框架分为两部分:
1.Collection接口:继承java 集合框架的顶级接口Iterable接口,同时是List、Queue、Set的父接口。
Set : 一组不重复的元素
SortedSet : 一组有序的不能重复的元素
List : 线性结构
Queue : 队列
Deque : 双端队列
2.Map接口:采用的是K——V键值对的形式,是SortedMap的父接口。
SortedMap : 一组有序的键值对 - Iterator接口:
- 常用方法:
方法签名 | 说明 |
boolean hasNext() | 如果迭代具有更多元素,则返回 true 。 |
E next() | 返回迭代中的下一个元素。 |
default void remove() | 从底层集合中删除此迭代器返回的最后一个元素(可选操作)。 |
- Collection接口:
集合层次结构中的根界面 。 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他集合不允许。 有些被命令和其他无序。 JDK不提供此接口的任何直接实现:它提供了更具体的子接口的实现,如Set和List 。 该界面通常用于传递集合,并在需要最大的通用性的情况下对其进行操作。
常用方法:
方法签名 | 说明 |
int size() | 返回当前存储在集合中的元素个数 |
boolean isEmpty() | 判断集合是否为空,如果为空,返回true |
boolean contains(Object o) | 判断集合是否包含与o相等的对象,如果包含,返回true |
boolean add(E e) | 将元素e添加到集合中 |
boolean remove(Object o) | 从该集合中删除指定元素的单个实例(如果存在)。 |
void clear() | 从此集合中删除所有元素。 |
Object[] toArray() | 返回一个包含此集合中所有元素的数组。 |
- Map接口:
public interface Map<K,V>将键映射到值的对象。 地图不能包含重复的键; 每个键可以映射到最多一个值。 Map界面提供了三个集合视图 ,允许将映射内容视为一组键,值集合或键值映射集合。
常用方法:
方法签名 | 说明 |
V put(K key, V value) | 将指定的值与该映射中的指定键相关联。 |
V get(Object key) | 返回到指定键所映射的值,或 null如果此映射包含该键的映射。 |
default V getOrDefault(Object key, V defaultValue) | 返回到指定键所映射的值,或 defaultValue如果此映射包含该键的映射。 |
boolean containsKey(Object key) | 如果此映射包含指定键的映射,则返回 true 。 |
boolean containsValue(Object value) | 如果此地图将一个或多个键映射到指定的值,则返回 true 。 |
Set<Map.Entry<K,V>> entrySet() | 返回所有键值对。 |
boolean isEmpty() | 如果此地图不包含键值映射,则返回 true 。 |
int size() | 返回此地图中键值映射的数量。 |