JAVA中sort()常用方法總結
阿新 • • 發佈:2019-01-04
一、Arrays.sort()的用法
import java.util.Arrays;
public class Main{
public static void main(String args[]) {
int a[] = {9,8,7,6,5,4,3,2,1,0};
Arrays.sort(a);
for(int i=0; i<a.length; ++i)
System.out.print(a[i]+" ");
System.out.println("");
}
}
二、Collections.sort()的用法
(1)、
import java.util.*; class Node{ int num; String name; //自定義排序 static class NodeComparator implements Comparator{ //注:實現Comparator介面 public int compare(Object a, Object b) { // 升序 Node aa = (Node)a, bb = (Node)b; return aa.num==bb.num?0:(aa.num<bb.num?-1:1); } } Node(int num, String name){ this.num = num; this.name = name; } public String toString() { return "name = "+name+", num = "+num; } } public class Main{ /*** * @author SUNSETS * @param args */ public static void main(String args[]) { List a = new ArrayList(); for(int i=5; i>=1; --i) a.add(new Node(i, "Node"+i)); // 排序 Collections.sort(a, new Node.NodeComparator()); Iterator it = a.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } }
(2)、
import java.util.*; class Node implements Comparable{ int num; String name; public int compareTo(Object o){ Node n = (Node)o; return num==n.num?0:(num<n.num?-1:1); } Node(int num, String name){ this.num = num; this.name = name; } public String toString() { return "name = "+name+", num = "+num; } } public class Main{ public static void main(String args[]) { List a = new ArrayList(); for(int i=5; i>=1; --i) a.add(new Node(i, "Node"+i)); Collections.sort(a); Iterator it = a.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } }