下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Java语言入门教程Comparable与Comparator接口(2)

作者:课课家教育     来源: http://www.kokojia.com点击数:1139发布时间: 2016-01-20 17:08:56

标签: java手游开发java网站空间java课程标准

大神带你学编程,欢迎选课

  初学者可以借助这个例子,理解一下接口的作用。接口Comparable定义了所 有需要使用sort方法排序的对象的共同行为,否则sort方法根本无法实现。

Java语言入门教程Comparable与Comparator接口(2)_java手游开发_java网站空间_课课家

  如果Course数组可能根据价格排序,也可能需要根据名称排序,显然使用这 个方法就有局限性,因为compareTo方法只可能实现一种比较逻辑。Arrays类中 还有另外一种排序方法:

  public static void sort(Object[] a, Comparator c)

  Comparator是另一个接口,其中有一个方法:

  public int compare(Object o1, Object o2)

  只要创建一个类,实现Comparator接口,实现compare方法,就可以进行排序 ,如下:

  package com.csst.relation;

  import java.util.Comparator;

  public class PriceComp implements Comparator {

  public int compare(Object arg0, Object arg1) {

  // TODO Auto-generated method stub

  Course c1=(Course)arg0;

  Course c2=(Course)arg1;

  if(c1.getPrice()>c2.getPrice()){

  return 1;

  }else if(c1.getPrice()

  return -1;

  }else{

  return 0;

  }

  }

  }

  有了这个实现类,使用Arrays.sort(Object[] o,Comparator c)方法,即可 以根据Comparator对象中的compare方法的比较算法进行排序。如果需要按照其 他标准排序,只要重新写类,实现Comparator接口即可。

  通过本篇的学习,初学者不仅能掌握数组排序的方法,更能对Comparable和 Comparator接口比较熟悉。更进一步,还是建议能借此例子,理解接口的作用。

赞(24)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程