gpt4 book ai didi

java - Collections.sort 没有对任何东西进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:53:09 25 4
gpt4 key购买 nike

我正在尝试以一种简短的方式对字符串数组进行排序。我正在尝试使用 Collections.sort,但我不明白为什么它不对任何内容进行排序。代码:

public static String[] FishNamesSorted;
.....
List<String> nameslist = new ArrayList<String>();
nameslist.toArray(FishNamesSorted);
Collections.sort(nameslist, String.CASE_INSENSITIVE_ORDER); <--- NOT WORKING

Collections.sort(nameslist, new Comparator<String>() { <--- NOT WORKING
@Override
public int compare(String p1, String p2) {
if (p1 == null) {
return 1;
}
if (p2 == null) {
return -1;
}
return p1.compareToIgnoreCase(p2);
}
});

两种情况下的结果:

  • 紫罗兰
  • 网纹紫罗兰
  • 长尾紫罗兰
  • 假单胞菌科
  • ....

为什么?

最佳答案

Collections.sort(list) 绝对有效。您的代码中的问题是您在排序之前将列表放入数组。如果在将列表放入数组之前先对列表进行排序,则应该对数组进行排序

List<String> nameslist = new ArrayList<String>();

/* add elements to namesList */

Collections.sort(nameslist);
Object[] fishNamesSorted = nameslist.toArray();

关于java - Collections.sort 没有对任何东西进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171695/

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