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

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

// 简化代码 直接 数组转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里面保存的数据怎么变成有顺序的了?

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值