gpt4 book ai didi

java - 设置与列表在java中的字母顺序

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:56 26 4
gpt4 key购买 nike

Arent 列出一个有序的集合,而 Sets 不是有序的吗?那么为什么这个程序用集合而不是列表按字母顺序对字符串进行排序?我理解两者的重复部分。

    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);

输出:幻觉


    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

最佳答案

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

  • TreeSet 是一个特殊的Set,它将其元素保持在自然“排序”的顺序中。
  • LinkedHashSet 是一个特定的Set确实保留了插入顺序。

如果你想“排序”你的列表,你必须手动执行:

Collections.sort(list);

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

关于java - 设置与列表在java中的字母顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com