您好我有一些像这样的简单代码
String[] myString1= {"Hidayat", "20"};
outerArr.add(myString1);
String[] myString2= {"Ryan", "10"};
outerArr.add(myString2);
String[] myString2= {"irwan", "5"};
outerArr.add(myString2);
任何人都知道如何按数字升序对数组outerArr进行排序?
答案 0 :(得分:1)
您可以使用Comparator
界面进行自定义排序:
Collections.sort(outerArr, new Comparator<String[]>() {
public int compare(String[] o1, String[] o2)
{
// for example you can compare integers
return Integer.parseInt(o2[1]) - Integer.parseInt(o1[1]);
}
});
答案 1 :(得分:0)
对于这种情况,我更喜欢TreeMap。TreeMap类通过使用树来实现Map接口。 TreeMap提供了一种以排序顺序存储键/值对的有效方法,并允许快速检索。
TreeMap<String, String> map = new TreeMap<>();
map.put("20", "Hidayat");
map.put("10", "Ryan");
map.put("5", "irwan");
用于检索值
map.get("10"); // output = Ryan
答案 2 :(得分:0)
如果您使用的是Java 8,另一种方法是使用Lambda,首先创建一个包含2个成员字段的字符串,每个成员使用getter编号,然后调用:
outerArr.sort((Person o1, Person o2)->o1.getAge()-o2.getAge());
如果您不想创建新课程,可以致电:
outerArr.sort((String[] o1, String[] o2)->Integer.parseInt(o1[1])-Integer.parseInt(o2[1]));