Java Array sort and Collections sort

 
 
package com.test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Interval {
	int start;
	int end;
	public Interval(int start, int end) {
		super();
		this.start = start;
		this.end = end;
	}
	public int getStart() {
		return start;
	}
	public void setStart(int start) {
		this.start = start;
	}
	public int getEnd() {
		return end;
	}
	public void setEnd(int end) {
		this.end = end;
	}
}

public class IntervalTests {
	
	public static void main(String[] args) {
		Interval v1 = new Interval(5,6);
		Interval v2 = new Interval(5,8);
		Interval v3 = new Interval(6,6);
		Interval v4 = new Interval(7,6);
		Interval v5 = new Interval(8,14);
		Interval v6 = new Interval(8,11);

		List<Interval> list = new ArrayList<>();
		list.add(v4);
		list.add(v5);
		list.add(v6);
		list.add(v1);
		list.add(v2);
		list.add(v3);
		System.out.println("List Start:");
		for(Interval v : list){
			System.out.println(v.start + " : " + v.end);
		}
	
		System.out.println("List Result:");

		list.sort((Interval a, Interval b) -> ( a.start == b.start ? (a.end - b.end ):(a.start - b.start)));
		
		for(Interval v : list){
			System.out.println(v.start + " : " + v.end);
		}
		System.out.println("");
		System.out.println("List End:");

		Interval[] arr = new Interval[6];
			arr[0] = v4;
			arr[1] = v2;
			arr[2] = v3;
			arr[3] = v1;
			arr[4] = v5;
			arr[5] = v6;
		System.out.println("Array Start:");

		for(Interval v:arr){
			System.out.println(v.start + " : " + v.end);
		}
		Arrays.sort(arr,(Interval a, Interval b) -> ( a.start == b.start ? (a.end - b.end ):(a.start - b.start)));
		System.out.println("Sort Done");
		System.out.println("Array Result:");

		for(Interval v:arr){
			System.out.println(v.start + " : " + v.end);
		}
		System.out.println("Array End:");
	}

}

Result:

List Start:
7 : 6
8 : 14
8 : 11
5 : 6
5 : 8
6 : 6
List Result:
5 : 6
5 : 8
6 : 6
7 : 6
8 : 11
8 : 14

List End:
Array Start:
7 : 6
5 : 8
6 : 6
5 : 6
8 : 14
8 : 11
Sort Done
Array Result:
5 : 6
5 : 8
6 : 6
7 : 6
8 : 11
8 : 14
Array End:

猜你喜欢

转载自oywl2008.iteye.com/blog/2418131