当前位置 : 主页 > 编程语言 > java >

《Java 核心技术 卷1》 笔记 第13章 集合(3)列表

来源:互联网 收集:自由互联 发布时间:2022-07-13
13.2 具体的集合 集合类型 描述 ArrayList 有序,可随机访问,查找快,增删慢 LinkedList 有序,不可随机访问,增删快,查找慢 ArrayDeque 双端队列,有序,不可随机访问,可头尾插入、头尾


 13.2 具体的集合



集合类型

描述

ArrayList

有序,可随机访问,查找快,增删慢

LinkedList

有序,不可随机访问,增删快,查找慢

ArrayDeque

双端队列,有序,不可随机访问,可头尾插入、头尾删除、头尾查看

HashSet

无序哈希集合,不可重复,可检查存在性

TreeSet

有序哈希集合,不可重复,可检查存在性,可排序,可查询大于小于某值的第一个元素,可获取头尾元素

EnumSet

无序保存枚举值集合,快速获得存在性结果(位图的一种,更省空间)

LinkedHashSet

插入次序哈希集合,不可重复,可检查存在性,循环时按顺序

PriorityQueue

堆(优先队列),可按顺序排序,插入元素时直接进行排序,插入查找效率都为 O(logn)

HashMap

无序键值对,键值不可重复,查找效率O(1),最坏O(logn)

EnumMap

枚举剪枝対,键值不可重复,快速获得存在性结果(位图的一种,更省空间)

LinkedHashMap

插入次序键值对,键值不可重复,可检查存在性,循环时按顺序

WeakHashMap

弱引用哈希表,可被垃圾回收器回收

IdentityHashMap

哈希强制通过地址判断



《Java 核心技术 卷1》 笔记 第13章 集合(3)列表_数据结构

 13.2.1 链表

插入、删除快,查找速度慢的数据结构

现实中使用的情况:栈(配对,比如编译器括号匹配检查)、队列(最常用BFS,有限步数的最优解),跳表(快速在有序集合内查找指定元素)

实际使用情况:算法题+框架级别底层数据结构(白话,初学不太用的上,面试笔试有用,需要学数据结构)

考点补充:List 集合的迭代器 ListIterator 可以查找前一个元素: previous(),也可以添加元素:add(), 普通集合迭代器 Iterator 不可以

网友评论