数组列表排序[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组列表排序[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

你会如何按字母或数字排序ArrayList?我不确定按字母顺序或数字顺序排序数组的方法是如何工作的。

谢谢!

答案

Collections.sort方法允许用Comparator对列表进行排序,ArrayList list = new ArrayList(); list.add(1); list.add(10); list.add(-1); list.add(5); Collections.sort( list ); 实现了您的特定排序方法(例如字母或数字排序)。

另一答案

[Collections.sort] [1]将按默认排序排序。这是字符串的词法(字母)和数字数据类型的数字。如果需要非标准订购,您还可以指定自己的比较器。

例如:

http://java.sun.com/javase/6/docs/api/java/util/Collections.html#sort(java.util.List

[1]:Collections.sort(),java.util.Comparator)

另一答案

通常使用Comparable方法对简单数组列表进行排序。

这是一个例子。

首先实现compareTo接口,然后覆盖public class Student implements Comparable private String studentname; private int rollno; private int studentage; public Student(int rollno, String studentname, int studentage) this.rollno = rollno; this.studentname = studentname; this.studentage = studentage; @Override public int compareTo(Student comparestu) int compareage=((Student)comparestu).getStudentage(); @Override public String toString() return "[ rollno=" + rollno + ", name=" + studentname + ", age=" + studentage + "]"; 方法。

Collections.sort

现在我们可以在ArrayList上调用import java.util.*; public class ArrayListSorting public static void main(String args[]) ArrayList<Student> arraylist = new ArrayList<Student>(); arraylist.add(new Student(100, "Nuwan", 19)); arraylist.add(new Student(200, "Kamal", 18)); arraylist.add(new Student(205, "Sunil", 20)); Collections.sort(arraylist); for(Student str: arraylist) System.out.println(str);

Collections.sort(list,new Comparator()  

    int compare(T o1, T o2) 
        // implement your own logic here
    


    boolean equals(Object obj) 
        // implement your own logic here
    

另一答案
qazxswpoi

以上是关于数组列表排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

创建对象的列表/数组列表并对列表进行排序(Java)[重复]

根据列表顺序排序对象数组[重复]

如何根据GPA对数组列表进行升序排序? arraylist 包含一个对象数组。 (Java)[重复]

有重复的联系人排序列表,为啥?

在已移动的排序数组中找到一个元素[重复]

问题列表