如何在java中对Array进行排序?

时间:2017-01-12 10:46:01

标签: java android arrays

您好我有一些像这样的简单代码

  String[] myString1= {"Hidayat", "20"};
  outerArr.add(myString1);

  String[] myString2= {"Ryan", "10"};
  outerArr.add(myString2);

  String[] myString2= {"irwan", "5"};
  outerArr.add(myString2);

任何人都知道如何按数字升序对数组outerArr进行排序?

3 个答案:

答案 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]));