1. 程式人生 > >JAVA中sort()常用方法總結

JAVA中sort()常用方法總結

一、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());
		}
	}
}