[英]Sort a List of String array objects
我如何按字母顺序对字符串数组对象列表进行排序。
我将清单设置如下:
List CurrentRankingsList = rankings.getRankings();
我有一个像这样的String对象列表:
[["Dwayne","5"], ["Bill","4"], ["James","3"], ["Sally","3"]]
我如何按名称对列表进行排序,同时保持列表结构,例如[["Bill","4"], ["Dwayne","5"], ["James","3"], ["Sally","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)
我如何按字母顺序对字符串数组对象列表进行排序。
ArrayList<String[]>
, List<String[]>
的集合,否则该集合将被视为原始类型,并且我们将面临类型不安全操作的运行时错误开销。 您将需要将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()); } }) ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.