gpt4 book ai didi

java - 对字符串数组对象的列表进行排序

转载 作者:行者123 更新时间:2023-11-30 04:06:51 25 4
gpt4 key购买 nike

如何按字母顺序对字符串数组对象列表进行排序。

我将列表设置如下:

List CurrentRankingsList = rankings.getRankings();

我有一个像这样的字符串对象列表:

[["Dwayne","5"], ["Bill","4"], ["James","3"], ["Sally","3"]]

我如何按名称按字母顺序对此列表进行排序,同时保持列表结构,例如[["Bill","4"], ["Dwayne","5"], ["James","3"], ["莎莉","3"]]我已尝试以下操作,但列表未正确排序

      (Updated code from original question )    
Collections.sort(CurrentRankingsList, new Comparator<Rankable>()
{
@Override
public int compare(Rankable o1, Rankable o2) {
// TODO Auto-generated method stub
String testo1=o1.getObject().toString();
String testo2=o2.getObject().toString();
int x = o1.getObject().toString().compareTo(o2.getObject().toString());
return o1.getObject().toString().compareTo(o2.getObject().toString());
}
}) ;

在调试比较时,我们得到 Paul (o1.GetObject.ToString) 与 Nathan(o2.GetObject.ToString)

最佳答案

How can i Sort a list of String array objects alphabetically.

  • 声明列表或任何类型为:ArrayList<String[]>的集合, List<String[]>否则 Collection 将被视为原始类型,我们将面临类型不安全操作的运行时错误开销。
  • 您需要通过 String[]输入 Comparator

     Collections.sort(CurrentRankingsList, new Comparator<String[]>() 
    {
    @Override
    public int compare(String[] o1, String[] o2) {
    // TODO Auto-generated method stub
    return o1[0].compareTo(o2[0]);
    }
    }) ;

    假设CurrentRankingsList是数组字符串列表。

  • 对于这种情况,更简洁的方法是声明一个类,例如 Player有两个属性(名称,排名),然后根据该类的实例进行排序。

     class Player
    {
    String name;
    int rank;

    // your other code with constructor and getter, setter method
    }

    ArrayList<Player>currentRankingsList = new ArrayList<>();

    Collections.sort(CurrentRankingsList, new Comparator<Player>()
    {
    @Override
    public int compare(Player o1, Player o2) {
    // TODO Auto-generated method stub
    return o1.getName().compareTo(o2.getName());
    }
    }) ;

关于java - 对字符串数组对象的列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20552100/

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