加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

设置vs列表java中的字母顺序

发布时间:2020-12-15 04:58:28 所属栏目:Java 来源:网络整理
导读:Arent列出有序集合,并且没有订购?那么为什么这个程序按字母顺序对字符串进行排序而不是列表?我理解两者的重复部分. PrintStream out = System.out; ListString set = new ArrayListString(); String s = "ILLUSIONS"; for(int i = 0; i s.length(); i++) {
Arent列出有序集合,并且没有订购?那么为什么这个程序按字母顺序对字符串进行排序而不是列表?我理解两者的重复部分.

PrintStream out = System.out;

    List<String> set = new ArrayList<String>();
    String s = "ILLUSIONS";

    for(int i = 0; i< s.length(); i++)
    {
        set.add((new Character(s.charAt(i))).toString());

    }
    out.println(set);

输出:ILLUSIONS

PrintStream out = System.out;

    Set<String> set = new TreeSet<String>();
    String s = "ILLUSIONS";

    for(int i = 0; i< s.length(); i++)
    {
        set.add((new Character(s.charAt(i))).toString());

    }
    out.println(set);

输出:ILNOSU

解决方法

列表按元素索引“排序”.这意味着它们保留了元素插入的顺序.集合(通常)不保留这样的顺序.一些例外:

> TreeSet是一个特殊的Set,它以自然的“排序”顺序保持其元素.
> LinkedHashSet是一个特定的Set,它确实保留了插入顺序.

如果您想“订购”您的列表,您必须手动执行此操作:

Collections.sort(list);

实际上,通过“排序”列表,您将重新排列所有列表元素索引.请参阅Collections.sort()上的相关Javadoc

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读