话不多说 直接代码测试效果:
// 简化代码 直接 数组转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里面保存的数据怎么变成有顺序的了?