【JAVA】List转Set并按照List的顺序排序,HashSet、LinkedHashSet、TreeSet元素保存顺序List转换对比

article/2025/10/21 12:14:34

话不多说 直接代码测试效果:

// 简化代码 直接 数组转list 就不用 写很多add了 哈哈哈
String[] array = {"f","a","r","q","b","e","o","z","v","p","g"};// 转List 输出
List<String> list = Arrays.asList(array);
System.out.println(JSON.toJSONString(list) + " -- list");// 转LinkedHashSetList 输出
Set<String> linkedHashSet = new LinkedHashSet<>(list);
System.out.println(JSON.toJSONString(linkedHashSet) + " -- LinkedHashSet");// 转HashSet输出
Set<String> hashSet = new HashSet<>(list);
System.out.println(JSON.toJSONString(hashSet) + " -- HashSet");// 转TreeSet输出
Set<String> treeSet = new TreeSet<>(list);
System.out.println(JSON.toJSONString(treeSet) + " -- TreeSet");

效果:

说明:

1、LinkedHashSet:保持元素添加时的顺序

2、HashSet:输出的顺序和添加时的顺序是完全不一致的。

3、TreeSet:输出的顺序和添加时的顺序是完全不一致的,有自然排序规则:1-9,a-z;

有的小伙伴在测试的时候 出现了 HashSet出现了自然排序的情况的,可以参考问题:HashSet里面保存的数据怎么变成有顺序的了?


http://chatgpt.dhexx.cn/article/P4BeEjUO.shtml

相关文章

java中Stream的使用以及List转set和map方法

Stream流的作用&#xff1a; 非常精简方便的去遍历集合实现过滤&#xff0c;排序等。 图解&#xff1a; 例&#xff1a; ArrayList<User> users new ArrayList<>();User user1 new User("赵六",33);users.add(new User("张三",12));users…

JAVA创建对象全过程详解

java世界里面对象无处不在&#xff0c;拿在创建对象的时候都经过哪些步骤&#xff1f; 总结下来大概分为这几步。 对象创建的过程(new 对象的时候) 判断类有没有被加载如果没有(就开始加载类(就是类的加载过程))初始化 &#xff1a;就是给一些变量进行初始化。设置对象头(比较…

Java对象的创建和使用

目录 1、类和对象 2、类的定义方式 3、对象的创建语法 4、什么是实例变量&#xff1f; 5、引用传递的本质 6、引用既可以是局部变量&#xff0c;也可以是成员变量。 7、在一个类的方法中&#xff0c;也可以new本类。 8、NullPointerException&#xff08;空指针异常&…

Java创建对象的方式

Java创建对象的五种方式&#xff1a; &#xff08;1&#xff09;使用new关键字 &#xff08;2&#xff09;使用Object类的clone方法 &#xff08;3&#xff09;使用Class类的newInstance方法 &#xff08;4&#xff09;使用Constructor类中的newInstance方法 &#xff08;5&am…

Java创建对象的几种方式

java是一种面向对象语言,所以我们在写代码过程中会创建很多对象,那java创建的对象到底有多少种呢?其中每种的差别又有哪些呢?请允许我慢慢道来 1.使用new关键字 这是最常见也是使用最多的一种。 Test test = new Test();// 无参构造函数 如果我们想要在创建对象的时候,…

java 之创建对象

文章目录 前言创建对象new关键字的作用构造方法什么是初始化构造方法的作用构造方法的两种形式参考引用 前言 这是我学习过程中做的总结&#xff0c;如有不对见谅。 创建对象 我们用Demo类来创建一个对象。 Demo demonew Demo();这一条语句&#xff0c;其实包括了四个动作&a…

Java中创建对象的5种方法

将会列举5种方法去创建 Java 对象&#xff0c;以及他们如何与构造函数交互&#xff0c;并且会有介绍如何去使用这些方法的示例。 作为一个 Java 开发人员&#xff0c;我们每天都会创建大量的 Java 对象&#xff0c;但是我们通常会使用依赖管理系统去创建这些对象&#xff0c;例…

Java创建对象的四种方式

1. new 2. clone 3. 通过反射newInstance 4. 反序列化 5. String s “abc”&#xff08;这个是比较特殊的&#xff09; 以String类为例 String string null; Class class1 String.class;// 该方法最为安全可靠&#xff0c;程序性能更高。 Class class2 string.getClass(…

c# Topshelf创建linux与Windows服务

目录 Topshelf安装Topshelf包代码如下&#xff0c;简单粗暴卸载服务安装服务 Topshelf 讨厌创建.net 服务时的窗体怎么办&#xff1f;讨厌调试.net服务怎么办?调试.net服务还要自己建控制台怎么办? Topshelf 它来了&#xff01;&#xff01;&#xff01; Topshelf 是一个开源…

htop与top命令

安装htop yum -y install htop htop 类似于 top 命令&#xff0c;但可以让你在垂直和水平方向上滚动&#xff0c;所以你可以看到系统上运行的所有进程&#xff0c;以及他们完整的命令行。可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。 与 Lin…

使用Quartz.net实现多线程任务定时执行,动态配置Job,结合Topshelf构建Windows服务

几个月前有这么个需求&#xff1a;需要执行一些Job&#xff0c;这些Job会各自按照不同的时间频次执行&#xff0c;且它们做的事情也不同&#xff0c;有的是监控站点&#xff0c;有的是监控服务器存储情况&#xff0c;有的是监控报表PROCEDURE的执行状况… OK&#xff0c;当看到…

top命令参数详解

简介 top命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况&#xff0c;类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直…

top命令参数详解(linux top命令的用法详细详解)

通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。 top命令输出长这样&#xff1a; top命令参数详解&#xff08;linux top命令的用法详细详解&#xff09; 以下解析一下各个字段的意思&#xff1a; VIRT&#xff1a;virtual memory …

Topas命令详解

执行topas命令后如图所示&#xff1a; #topas 操作系统的最全面动态&#xff0c;而又查看方便的性能视图就是topas命令了&#xff0c;下面以topas输出为例&#xff0c;对AIX系统的性能监控做简要描述&#xff0c;供运维工程师和系统管理员们参考。 另&#xff1a;1.操作系统报…

Topshelf 打包部署Windows服务

1 创建项目(例&#xff1a;控制台程序) Nuget 引入Topshelf类库 using System; using System.Threading; using System.Threading.Tasks; using Topshelf;namespace LoginTypeInherit {public class Program{private static readonly log4net.ILog log log4net.LogManager.G…

Linux top命令参数详解

Linux top命令参数详解 生产环境系统运行慢&#xff0c;出现无法响应通常原因主要还在于分析CPU、内存、磁盘使用率情况&#xff0c;并结合命令查找出具体进程&#xff0c;并在进程中进一步分析主要因子情况&#xff0c;渗透到对于其中包含线程占用情况的分析。一般而言对于ja…

C#之TopShelf启动Windows服务

写了一两天&#xff0c;才发现组长给的原始代码原本就有Topshelf&#xff0c;还是写出来提示我topshelf不明确哪个版本的使用&#xff0c;莫名尴尬。 1、项目的主要运行代码 HostFactory.Run(x >{x.RunAsLocalSystem();x.SetDescription("topshelf测试");x.SetDi…

Linux下top命令用法详解

一、命令介绍 Linux top命令用于实时显示 process &#xff08;进程&#xff09;的动态。它用于监控正在运行系统负荷的信息&#xff0c;包括系统负载、CPU利用分布情况、内存使用、每个进程的资源占用情况等。 使用权限&#xff1a;所有使用者 二、命令详解 在命令行下输入…

【Linux】Top命令参数解释

TOP命令 这是一个Linux系统下 top 命令所输出的进程监控信息。以下是各列含义&#xff1a; top - 09:52:15&#xff1a;当前时间。 up 27 min&#xff1a;系统已经运行的时长。 2 users&#xff1a;当前有2个用户登录到系统上。 load average: 0.97, 0.41, 0.21&#xff1a;系…

Topshelf的使用

一、简介 Topshelf可用于创建和管理Windows服务。其优势在于不需要创建windows服务&#xff0c;创建控制台程序就可以。便于调试。 二、官方地址&#xff1a; 1、官网&#xff1a;http://topshelf-project.com/ 2、官方文档&#xff1a;https://topshelf.readthedocs.io/en/lat…