Java 集合的有序和无序总结
1. List 一定是有序的
ArrayList 和 LinkedList 中的元素的顺序是按照添加时的顺序排列的。这就是所说的List 有序。
2. Set 不一定是无序的
HashSet 是无序的,不能保证元素的添加顺序。
LinkedHashSet 可以保证元素的添加顺序。
TreeSet 是根据元素的自然顺序进行排序的(A-Z)
类型 | 是否可以重复 | 是否保证元素添加的顺序 | 是否保证元素自然的顺序(A-Z) |
List | 可以 | 是 | 否 |
HashSet | 不可以 | 否 | 否 |
LinkedHashSet | 不可以 | 是 | 否 |
TreeSet | 不可以 | 否 | 是 |
// 1. ArrayList 输出 s1 s3 s5 s4 s2List<String> arrayList = new ArrayList<>();arrayList.add("s1");arrayList.add("s3");arrayList.add("s5");arrayList.add("s4");arrayList.add("s2");System.out.println(">>>>>>>>>>>>>>>>> ArrayList" );for (String s : arrayList) {System.out.print(s + " ");}System.out.println();// 2. LinkedList 输出 s1 s3 s5 s4 s2List<String> linkedList = new LinkedList<>();linkedList.add("s1");linkedList.add("s3");linkedList.add("s5");linkedList.add("s4");linkedList.add("s2");System.out.println(">>>>>>>>>>>>>>>>> LinkedList" );for (String s : linkedList) {System.out.print(s + " ");}System.out.println();// 3. HashSet 输出 s3 s4 s5 s1 s2Set<String> hashSet = new HashSet<>();hashSet.add("s1");hashSet.add("s3");hashSet.add("s5");hashSet.add("s4");hashSet.add("s2");System.out.println(">>>>>>>>>>>>>>>>> HashSet" );for (String s : hashSet) {System.out.print(s + " ");}System.out.println();// 4. LinkedHashSet 输出 s1 s3 s5 s4 s2Set<String> linkedHashSet = new LinkedHashSet<>();linkedHashSet.add("s1");linkedHashSet.add("s3");linkedHashSet.add("s5");linkedHashSet.add("s4");linkedHashSet.add("s2");System.out.println(">>>>>>>>>>>>>>>>> LinkedHashSet" );for (String s : linkedHashSet) {System.out.print(s + " ");}System.out.println();// 5. TreeSet 输出 s1 s2 s3 s4 s5Set<String> treeSet = new TreeSet<>();treeSet.add("s1");treeSet.add("s3");treeSet.add("s5");treeSet.add("s4");treeSet.add("s2");System.out.println(">>>>>>>>>>>>>>>>> TreeSet" );for (String s : treeSet) {System.out.print(s + " ");}
Java 集合的有序和无序总结相关推荐
- Java集合存放有序不重复的对象
new一个list和一个set,先将数据插入到set中,如果插入成功在插入到list中: if(set.add(data)){list.add(data); } 最后返回list
- Java 集合 Collection、Iterator
Java集合分为Set(无序.不可重复).List(有序.重复).Queue(队列)和Map(映射关系) Java集合概述 数组元素既可以是基本类型的值,也可以是对象(实际保存对象的引用变量) 集合只 ...
- html无序列表斜体,CSS 有序或者无序列表的前面的标记 list-style-type 属性
例子: ul.none{list-style-type:none} ul.circle {list-style-type:circle} ul.square {list-style-type:squa ...
- java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...
一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...
- Java集合中有关有序,无序的概念
有序.无序是指在进行插入操作时,插入位置的顺序性 先插的位置在前,后插的位置在后,则为有序,反之无序 而大家容易混淆的就是排序,排序是指集合内的元素是否按照升序或降序来排序 实现了List接口的集合类 ...
- Java中哪些集合是有序的?
Java中哪些集合是有序的? 实现了 List 接口的集合类全部有序:比如ArrayList.LinkedList LinkedHashMap:在 HashMap 的基础上多维护了一个双向链表. Co ...
- Java中的有序集合
面试的时候经常会被问道这样一个问题:Java集合中哪些是有序的,哪些不是? 我们通常的回答是List.LinkedHashMap.LinkedHashSet.TreeMap.TreeSet是有序的,L ...
- java 集合 接口_Java集合之Collection接口
1 - Java集合介绍 /* 1. 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储. 2. 另一方面,使用Array存储对象方面具有一些弊 端,而 ...
- java 头尾 队列_超详细的java集合讲解
1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...
最新文章
- 添加FB登陆时,需要curl扩展
- HttpPost+json请求---服务器中文乱码及其他
- android ios web兼容,js与android iOS 交互兼容
- WordPress 短代码集
- 根据ABAP类方法的形式参数名,反查是哪个方法定义了该形式参数
- 快速构建ceph可视化监控系统
- Shared_from_this 几个值得注意的地方
- ZZULIOJ 1139: 输出最短字符串
- ContextLoaderListener的作用详解
- RHCE系列之权限管理----ACL(访问控制列表)
- D1,4CIF,CIF,QCIF各代表的分辨率大小
- 父母生命末期,是在医院昂贵痛苦地治疗,还是接老人回家亲情陪伴
- 云安全软件市场现状研究分析报告 -
- 用户划分——RMF方法
- Elasticsearch的使用RestHighLevelClient
- AI教程之:渐变效果
- Mac系统下利用ADB命令连接android手机并进行文件操作
- .mat图像显示(MATLAB实现)
- 【操作系统】LinuxKernel-VFS虚拟文件系统 认知框架构建(super_block,inode,dentry,file)
- Java中Map集合中的Entry对象