【Java基础】常用集合(List、Map等)优缺点与特性总结

您所在的位置:网站首页 集合中n和z的区别 【Java基础】常用集合(List、Map等)优缺点与特性总结

【Java基础】常用集合(List、Map等)优缺点与特性总结

2024-07-16 06:36| 来源: 网络整理| 查看: 265

常见数据结构的特点集合体系 常见数据结构的特点 在聊常用集合之前,得先来看看常见的数据结构的特点,毕竟集合的实现可离不开各个数据结构的;

​ ① 数组(Array): 有索引,内存连续分配,查询快,增删慢;

​ ② 链表(linked list): 内存不连续,增删快,查询慢;

​ ③ 栈(stack): 出口与入口是同一个,先进后出;

​ ④ 队列(queue): 出口与入口各占一侧,先进先出;

​ ⑤ 树结构(tree): 查询速度相当快。

集合体系 集合分为单列集合(Collection)与双列集合(Map); Collection集合

 

0ff6b6719752aae5d69047a6c9261e65.png

Collection是单列集合的根接口;List集合特点是: 有序(存取一致),有索引,可重复;List接口常用方法:(增add,删remove,改set,查get);Set集合特点:无索引,不可重复(唯一)。 ArrayList集合(推荐) 底层数据结构: 数组;数组: 查询快,增删慢;查询快原因: 有索引,元素内存连续分配;线程不安全,效率高。 LinkedList集合 底层采用链表的数据结构;链表的数据结构: 增删快,查询慢。 Vector集合 底层数据结构: 数组;数组: 查询快,增删慢;线程安全,效率低。 HashSet集合 数据结构:哈希表(数组+链表/红黑树(链表节点数量>8));存储的元素无序,不可重复。 LinkedHashSet集合 数据结构:哈希表+链表;存储的元素有序(按存取顺序),不可重复。 TreeSet集合 数据结果:红黑树;有序,可以自定义比较器排序。 Map集合

 

8e0146a6e582694ddf8ec3fca7a285d7.png

HashMap集合 数据结构:哈希表;无序,线程不安全,支持null值。 LinkedHashMap集合 数据结构:哈希表+链表;存取顺序一致,支持null值。 HashTable集合 数据结构:哈希表;线程安全,不支持null值,效率低。 TreeMap集合 数据结构:红黑树;有序,主要用于排序(自然排序或者自定义比较器排序)。

  了解各个集合的数据结构和特点主要是为了平时在使用的时候能根据实际场景需要选择合适的集合,比如增删多,查询少的就用LinkedList等;如果说记不清特点,不知道用哪个了,那么就用ArrayList和HashMap;

注意:本文归作者所有,转载请注明出处



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3