java list有序还是无序_java的集合框架
前言
使用java编程语言的开发人员,在日常开发过程中经常会使用到java的一些集合类,不过这些集合类太多,很多人对它们的特点和使用场景不是特别的了解,通过此文给大家总结一下这方面的知识,方便大家面试或者是初学者理解。
Java集合类主要由Collection和Map两个接口派生而出,另外还有遍历集合的工具Iterator迭代器:
集合框架
Connection接口
Connection
Connection包含List和Set两大分支:
1、List( 有序、可重复)
ArrayList与Vector
①底层数据结构是数组,查询快,增删慢。
②前者效率高、线程不安全,后者效率低、线程安全。
LinkedList
①底层数据结构是链表,查询慢,增删快。
②线程不安全,效率高。
2、Set
HashSet(唯一、无序)
①底层数据结构是哈希表。
②两个方法:hashCode()和equals()
LinkedHashSet(唯一、有序)
①底层数据结构是链表和哈希表。
②由链表保证元素有序、哈希表保证元素唯一。
TreeSet(唯一、有序)
①底层数据结构是红黑树。
②自然排序、比较器排序。
③根据比较的返回值是否是0来决定是否唯一。
Map接口
Map
key-value键值对,有三个比较重要的实现类,分别是HashMap、TreeMap和HashTable,这三者之间的区别:
①TreeMap是有序的,HashMap和HashTable是无序的。
②Hashtable的方法是同步的、线程安全的;HashMap的方法不是同步的、线程不安全。HashMap效率较高,Hashtable效率较低。
③Hashtable不允许null值,HashMap允许null值(key和value都允许)。
④父类不同:Hashtable的父类是Dictionary,HashMap的父类是AbstractMap。
总结
所有集合类都位于java.util包下,一般的使用场景大家只要知道list有序,set不能重复,map是键值对就差不多了,在一些特殊的场景,比如追求代码效率、线程安全等,那就要仔细区分下这些集合类了。
来源:https://blog.csdn.net/weixin_39948277/article/details/110617490
java list有序还是无序_java的集合框架相关推荐
- Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】
Educoder–Java高级特性(第二章)- 集合框架[笔记+参考代码] 第一关 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,创建ArrayList集 ...
- java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...
一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...
- java 有序容器_Java 容器集合框架概览
Java Collections Framework 集合的概念 集合collection,有时叫做容器container,把多个元素组成一个单元. 早期的Java (pre-1.2) 中包含了Vec ...
- java面向对象编程集合边框_JAVA 面向对象 集合框架
1.Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 如果并不知道程序运行时会需要多少对象,或者需要 更复杂方式存储对象--可以使用Java集合框架 2.java ...
- java jcf框架干啥的_Java 之 集合框架(JCF)
1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点: ...
- java set 有序的吗_java set 顺序
展开全部 集(set)是最简单的一种集合,它的对象不按特定方式排序(不保证集合中元32313133353236313431303231363533e78988e69d8331333366306531素 ...
- java中list元素排序_java list集合元素根据某些字段排序
一.jdk1.6的环境下 新建ComparatorSort类,并实现Comparator接口,重写compare方法 降序排序:o1的元素>o2的元素,并返回-1:o1的元素小于o2的元素,并返 ...
- java遍历是什么意思_Java遍历集合的几种方法分析(实现原理、算法性能、适用场合)...
概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List.Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList ...
- java遍历是什么意思_Java遍历集合方法分析(实现原理、算法性能、适用场合)...
概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List.Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList ...
最新文章
- Daydream VR
- 090_HTMLCollection和NodeList对象
- echarts label加边框_关于echarts的lines中的label的设置
-问答-阿里云开发者社区-阿里云...
- String.subString内存泄露
- error: style attribute '@android:attr/windowEnterAnimation' not found.
- 创建世界级品牌的大师忠告
- 设计素材模板|春节要来了,素材准备好了么?
- 正则表达式 两个符号的字段_Tableau正则提取字段部分内容
- 现代书法脚本字体Tifany Script
- linux 忘记了密码,Linux忘记密码的解救方法
- 公差与配合查询计算过程讲解
- 【Python】所有常用Python库和功能查询表
- 系统分析师学习笔记(十七)
- Vue 的最大的优势是什么?
- 通常我们将python语言程序保存在一个后缀_c 语言程序设计 沈显君课后答案
- js逆向案例-obsfuscator混淆
- Java项目实现文件上传FTP
- 惊呆了!我用 Python 可视化分析和预测了 2022 年 FIFA 世界杯
- HIS(医院信息系统HospitalInformationSystem)
- Windows 下 C++ 利用 OpenCV glob 函数获取文件夹下所有文件绝对路径
热门文章
- 03_Nginx添加新模块
- linux下重启weblogic(关闭和启动)
- 6.关于QT中的内存管理,动态的制作,动态库的调用,静态库的制作
- 5进程原语:execl(),execlp(),execle(),execv(),execvp(),execvp(),execve()
- Mule ESB 学习笔记
- python通过DictReader实现两个csv文件的映射查找lookup之代码详解
- Petalinux 2018.2 for Xilinx
- C++const类型的引用参数
- 初学者学习Python,掌握这些实用小技巧能快速入门!
- Redis 错误1067:进程意外终止,Redis不能启动,Redis启动不了