当前位置:首页 > 笔记 > 正文内容

List和set集合,Map集合的区别以及它们的实现类有哪些

jsc6年前 (2019-07-19)笔记2540

List 是可重复集合,Set 是不可重复集合,这两个接口都实现了 Collection 父接口。

Map 未继承 Collection,而是独立的接口,Map 是一种把键对象和值对象进行映射的集合,它的每一个元素都包含了一对键对象和值对象,Map 中存储的数据是没有顺序的, 其 key 是不能重复的,它的值是可以有重复的。

List 的实现类有 ArrayList,Vector 和 LinkedList:

ArrayList 和 Vector 内部是线性动态数组结构,在查询效率上会高很多,Vector 是线程安全的,相比 ArrayList 线程不安全的,性能会稍慢一些。

LinkedList:是双向链表的数据结构存储数据,在做查询时会按照序号索引数据进行前向或后向遍历,查询效率偏低,但插入数据时只需要记录本项的前后项即可,所以插入速度较快。

Set 的实现类有 HashSet 和 TreeSet;

HashSet:内部是由哈希表(实际上是一个 HashMap 实例)支持的。它不保证 set 元素的迭代顺序。

TreeSet:TreeSet 使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序。

Map 接口有三个实现类:Hashtable,HashMap,TreeMap,LinkedHashMap;

Hashtable:内部存储的键值对是无序的是按照哈希算法进行排序,与 HashMap 最大的区别就是线程安全。键或者值不能为 null,为 null 就会抛出空指针异常。

TreeMap:基于红黑树 (red-black tree) 数据结构实现,按 key 排序,默认的排序方式是升序。

LinkedHashMap:有序的 Map 集合实现类,相当于一个,先 put 进去的最后出来,先进后出。


扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://www.jsc0.com/post/173.html

标签: ListSetMap
分享给朋友:

“List和set集合,Map集合的区别以及它们的实现类有哪些” 的相关文章

关于初学者上传文件到github的方法

关于初学者上传文件到github的方法

【第一步】建立先仓库  第一步的话看一般的提示就知道了,在github新建一个repository(谷歌可以解决),都是可视化的界面操作,所以难度不大。或者看这里:https://help.github.com/articles/create-a-repo 这是官方help,虽然是英文的,...

equals和==区别

对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;    如果作用于引用类型的变量,则比较的是所指向的对象的地址对于equals方法,注意:equals方法不能作用于基本数据类型的变量    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址; ...

viewpager、listview、gridview、scrollview去除蓝色阴影

xml:   android:overScrollMode="never"java:    view.setOverScrollMode(ScrollView.OVER_SCROLL_NEVER);...

RecyclerView点击最后一个无效

RecyclerView设置的OnItemClick点击最后一个无效,在点击最后一个无效后在部分手机上点击其他item会触发最后一个view的onclick事件,有的手机始终无反应。是因为popwindow里RecyclerView宽度设置为match_parent的原因改为wrap_content...

更新Android Studio的系統找不到指定的路径错误的解决方法

Android Studio的安装和设定之后如果更换了电脑,想再次更新(检查更新)的时候也许会遇到这个问题:安装未成功完成。有关详细信息,请参阅IDE日志这是因为教室里的电脑,使用者的名称,和你家里或是别的地方的使用者名称不同所导致因为在更新的过程中,Android Studio会先将更新档放到Te...

ERROR: Failed to create toolchain.

哔哩哔哩视频编译报错build on Darwin x86_64ANDROID_NDK=/Users/sampeng/export/android-sdk-macosx/ndk-bundleIJK_NDK_REL=15.0.4075724NDKr15.0.4075724 detectedHOST_O...