默认设置是否排序?

问题描述

HashSet不保证其内容将以任何方式排序。确实有这样的保证的集合有一个特殊的接口:它被称为SortedSet

Set进一步提供关于它的元素的总体排序。使用元素的自然顺序或Comparator 在排序集创建时通常提供的元素对元素进行排序。集合的迭代器将以升序顺序遍历集合。提供了一些附加操作以利用订购的优势。(此接口是的设置类似物SortedMap。)

在Java 6中,有两个类实现了此接口:ConcurrentSkipListSetTreeSet

解决方法

更新时间

    Set s = new HashSet();
    s.add(1);
    s.add(5);
    s.add(4);
    s.add(9);
    s.add(7);
    s.add(8);        
    s.add("b");
    s.add("a");
    s.add("B");
    s.add("A");
    s.add("s");
    s.add("x");        
    s.add("d");        
    System.out.println(s);
    s.remove("b");
    s.remove("d");
    System.out.println(s);

输出:

[1,d,4,b,5,A,B,7,a,8,9,s,x]
[1,x]

当我们添加时,需要一些信息来设置默认排序整数值,但是如果我将字符串添加到设置,则默认情况下不会排序。

更新: 并且Caps字母将在运行多次后始终进行排序。

java版本“ 1.6.0_26” Java™SE运行时环境(内部版本1.6.0_26-b03)Java
HotSpot™客户端VM(内部版本20.1-b02,混合模式,共享)

请给我一些想法。谢谢

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”