java.util 接口 Collection<E>
集合,可能有序、可能无序;
可能数据唯一,也可能数据不唯一;
java.util 接口 List<E> : 父接口是Collection
有序集合 (数据可能唯一、可能不唯一)
使用场景举例: 从数据库中提取数据,并展示
java.util 接口 Set<E> : 父接口是Collection
个不包含重复元素的 collection -------- 每个元素是唯一的
---------可能有序、可能无序
----------最多包含一个 null 元素
使用场景举例:如果在业务上需要保证数据的唯一性,这时候用Set
网上书城-->>购物车
java.util 接口 Queue<E>
在处理元素前用于保存元素的 collection
队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素
E peek() 获取但不移除此队列的头;如果此队列为空,则返回 null
E poll() 获取并移除此队列的头,如果此队列为空,则返回 null
boolean offer(E e) 将指定的元素插入此队列
java.util 类 HashSet<E : Set接口的实现类 ------- 无序、唯一
底层实现的数据结构是哈希表、或称为哈希散列
哈希表的数据特点是:查找元素和修改元素的性能都比较好
HashSet的底层数据结构是HashMap
java.util 类 LinkedHashSet<E> :具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现 -------有序、唯一
注意: HashSet与HashMap中是否可以使用null ------最多包含一个 null 元素
ArrayList、LinkedList中是否可以用空 ---- 可以
java.util 接口 Map<K,V>
java.util 类 HashMap<K,V>
集合,可能有序、可能无序;
可能数据唯一,也可能数据不唯一;
java.util 接口 List<E> : 父接口是Collection
有序集合 (数据可能唯一、可能不唯一)
使用场景举例: 从数据库中提取数据,并展示
java.util 接口 Set<E> : 父接口是Collection
个不包含重复元素的 collection -------- 每个元素是唯一的
---------可能有序、可能无序
----------最多包含一个 null 元素
使用场景举例:如果在业务上需要保证数据的唯一性,这时候用Set
网上书城-->>购物车
java.util 接口 Queue<E>
在处理元素前用于保存元素的 collection
队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素
E peek() 获取但不移除此队列的头;如果此队列为空,则返回 null
E poll() 获取并移除此队列的头,如果此队列为空,则返回 null
boolean offer(E e) 将指定的元素插入此队列
java.util 类 HashSet<E : Set接口的实现类 ------- 无序、唯一
底层实现的数据结构是哈希表、或称为哈希散列
哈希表的数据特点是:查找元素和修改元素的性能都比较好
HashSet的底层数据结构是HashMap
java.util 类 LinkedHashSet<E> :具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现 -------有序、唯一
注意: HashSet与HashMap中是否可以使用null ------最多包含一个 null 元素
ArrayList、LinkedList中是否可以用空 ---- 可以
java.util 接口 Map<K,V>
java.util 类 HashMap<K,V>