在集合中排序

我们可以对以下元素进行排序:

  1. 字符串对象
  2. 包装类对象
  3. 用户定义的类对象
Collections类提供用于对集合的元素进行排序的静态方法。如果集合元素为Set类型, 则可以使用TreeSet。但是, 我们无法对List的元素进行排序。 Collections类提供用于对List类型元素的元素进行排序的方法。
用于对List元素进行排序的Collections类的方法
public void sort(List list):用于对List的元素进行排序。列表元素必须是Comparable类型。
注意:String类和Wrapper类实现Comparable接口。因此, 如果存储字符串或包装类的对象, 则将是可比较的。字符串对象排序示例
import java.util.*; class TestSort1{ public static void main(String args[]){ArrayList< String> al=new ArrayList< String> (); al.add("Viru"); al.add("Saurav"); al.add("Mukesh"); al.add("Tahir"); Collections.sort(al); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }

【在集合中排序】立即测试
Mukesh Saurav Tahir Viru

以相反顺序对字符串对象进行排序的示例
import java.util.*; class TestSort2{ public static void main(String args[]){ArrayList< String> al=new ArrayList< String> (); al.add("Viru"); al.add("Saurav"); al.add("Mukesh"); al.add("Tahir"); Collections.sort(al, Collections.reverseOrder()); Iterator i=al.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } }

Viru Tahir Saurav Mukesh

对Wrapper类对象进行排序的示例
import java.util.*; class TestSort3{ public static void main(String args[]){ArrayList al=new ArrayList(); al.add(Integer.valueOf(201)); al.add(Integer.valueOf(101)); al.add(230); //internally will be converted into objects as Integer.valueOf(230)Collections.sort(al); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }

101 201 230

对用户定义的类对象进行排序的示例
import java.util.*; class Student implements Comparable< Student> { public String name; public Student(String name) { this.name = name; } public int compareTo(Student person) { return name.compareTo(person.name); } } public class TestSort4 { public static void main(String[] args) { ArrayList< Student> al=new ArrayList< Student> (); al.add(new Student("Viru")); al.add(new Student("Saurav")); al.add(new Student("Mukesh")); al.add(new Student("Tahir")); Collections.sort(al); for (Student s : al) { System.out.println(s.name); } } }

Mukesh Saurav Tahir Viru

    推荐阅读