Java实现对结构体自定义排序

一、下面代码实现:若x相等对y从小到大排。否则,对x从小到大排序

         

import java.lang.reflect.Array;
import java.util.*;
import java.math.BigInteger;

//定义node类
class node{
	int x,y;
}
//利用Comparator接口复写compare方法
class  MyComparator implements Comparator{
	public int compare(node a,node b) {
		if(a.x==b.x)
			return a.y

运行结果

未排序前:
0 4
1 3
0 2
1 1
排序后:
0 2
0 4
1 1
1 3

二、下面给出Java中对sort进行降序排序的两种方法

       

    利用Collections的reverseOrder方法:

import java.lang.reflect.Array;
import java.util.*;
import java.math.BigInteger;
class node{
	int x,y;
}
public class main {
	
	public static void main(String args[]) {
		Integer a[]= {3,2,5,1,6,9};
		Arrays.sort(a,Collections.reverseOrder());
		for(int i=0;i

   利用Comparator接口复写compare方法: 

import java.lang.reflect.Array;
import java.util.*;
import java.math.BigInteger;

class MyComparator implements Comparator {
	public int compare(Integer a,Integer b) {
		return a>b?-1:1; 
	}
} 
public class main {
	public static void main(String args[]) {
		Integer a[]= {3,2,5,1,6,9};
		Comparator cmp=new MyComparator();
		Arrays.sort(a,Collections.reverseOrder());
		for(int i=0;i

 

你可能感兴趣的:(Java)