首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java构造体排序的两种办法

2012-11-26 
java结构体排序的两种办法Comparator和Comparable在排序中的应用当需要排序的集合或数组不是单纯的数字型

java结构体排序的两种办法
Comparator和Comparable在排序中的应用

当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。

一、Comparator

强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。

接口方法:

import java.util.*;import java.util.Arrays;class he implements Comparable<he>{int x,y;   /*因为上面指定了类型<he>,所以此处可以直接(he A)   *否则要写成(Object A),再强制转换成he类型:((he)A).x   */public int compareTo(he a){  if(this.x-a.x!=0) return this.x-a.x;else return this.y-a.y;}}class hee{  public static void main(String args[]){Scanner in=new Scanner (System.in);int n,i;n=in.nextInt();he d[]=new he[10];for(i=0;i<n;i++){d[i]=new he();d[i].x=in.nextInt();d[i].y=in.nextInt();}Arrays.sort(d,0,n); //排n个数,Arrays.sort(d)则默认排全部for(i=0;i<n;i++)System.out.println(d[i].x+" "+d[i].y);}}



热点排行