`
txf2004
  • 浏览: 6877123 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java数组的排序 对象数组的排序 Comoarable接口实现 compareTo函数实现

 
阅读更多

/*
java 中数组的排序 对象数组 的排序
基本类型的数组可以直接排序但是 引用类型的数组 不能直接排序
首先要实现 Comparable 接口并且重载compareTo方法 这个方法在
java.until包中的 Arrays 类 的 binarySearch() sort()进行排序和 查找
我们自定义的类进行排序 ,对象的搜索通过 binarySearch 但是这种搜索必须是排序号了的数组
String类 有 compareTo函数 可以直接进行比较 ,

*/
import java.util.Arrays; //排序函数在Arrays类中
class Test
{
public static void main(String []args)
{
point []arr=new point[]{new point(12,"xiaoming"), new point(1,"xiaowang"),new point(4,"xiaoxiao"),new point(12,"xiaowei")};
Arrays.sort(arr); //排序对象
for(int n=0;n<arr.length;n++)
{
System.out.println(arr[n]); //对象直接回调用 toString函数 我们在类中重载了就会输出我们想要的信息
}

int index=Arrays.binarySearch(arr,arr[2]);
System.out.println(index);
System.out.println("index element="+arr[index]);


}
}
class point implements Comparable //实现Comparable接口 我们要实现 compareTo函数
{
int num;
String name;
point(int num,String name)
{
this.num=num;
this.name=name;
}
public int compareTo(Object o) //重载compareTo函数
{
point p=(point)o;
int n= num>p.num?1:(num==p.num?0:-1);
if(n==0)
{
n=name.compareTo(p.name);
}
return n;
}
public String toString()
{
return name+":"+num;
}
}

分享到:
评论

相关推荐

    C#数组排序的两种常用方法

    本文实例讲述了C#数组排序的两种常用方法。分享给大家供大家参考。具体如下: 1.第一个例子 定义代码 #region Array数组排序1 public class Pigeon : IComparable //类元素本身继承比较接口 { int XValue; int ...

    java竞赛中各种自定义排序模板

    如果要按照某一个属性来对这个对象数组进行升序或降序排序,那么就需要用Arrays.sort(),但是这个创建的类一定要继承Comparable这个接口并重写compareTo方法。代码如下: package 排序; import java.util.Arrays; ...

    java排序代码

    定制排序:在创建TreeSet集合对象时,并提供一个Comparator接口实现类对象与该TreeSet集合关联, 由Comparator实现类对象负责集合元素的排序逻辑。 // 自定义比较器 class MyTreeSetCompartor implements...

    java汉字排序

    Java代码 1.import java.util.Comparator; 2.import net.sourceforge.pinyin4j.PinyinHelper; 3./** 4. * 汉字按照拼音排序的比较器 5. * @author KennyLee 2009-2-23 10:08:59 6. * 7. */ 8.public class ...

    Java SE程序 TreeSet类中自定义CompareTo类

    Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类...

    java CompareTo使用案例

    Show How to use CompareTo

    探究Comparable接口中CompareTo的方法,即其中的Arrays.sort排序底层原理(利接口回调来对学生数组中的对象信息排序)

    接口是非常重要的知识内容,可以说没有接口就没有Java现在这般辉煌模样。所以接口回调也是非常重要!于是昨天我也是写了很多东西就到了12点半,哈哈!所以昨天没有来得及发,今天才发出来的。 其实以前我学这里的...

    java数组及arrays类对数组的操作实例

    下面小编就为大家带来一篇java数组及arrays类对数组的操作实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java,Comparable接口实例

    此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行...

    C#,入门教程与实操,非常具有参考价值的数组算法完整工程源代码,包括:加强版(实数)数组;加强版(整数)数组;加强版(泛型)数组

    以数组 v 为数据的构造函数;以数组 x 为数据的赋值型构造函数;以字符串为数据的赋值型构造函数;第一个数据;最后一个数据;最小数据;最大数据;提取数组数据;提取指定下标数据;加号重载;减号重载;乘号重载;...

    Java实现基于内存的搜索引擎设计和实现.zip

    2.充分利用Java实现的API接口。比如在类Index中的getDictionary方法中,需要返回所有保存的Term,可以直接调用map结构的keySet方法返回一个Set对象,包含了所有的键,也即所有的Term,类似的还有由于实现了子类的...

    day016-list和set笔记以及代码.zip

    如果是定制排序,需要创建TreeSet对象的时候,传入一个Comparetor接口实现类对象,重写compare方法 一般是默认排序用自然排序(Comparable接口),特殊排序用定制排序(Comparetor接口实现) LinkedHashSet:如果...

    java常用工具类的使用

    而在Java类库中有一个Arrays类的sort方法已经实现各种数据类型的排序算法。程序员只需要调用该类的方法即可。 代码演示:Arrays实现排序 public static void main(String[] args) { int[] ages={23, 45,12,76,34,...

    Hadoop大作业排序.zip

    在 java 中,要实现类的大小比较可以实现 Comparable 接口并通 过重写 compareTo 方法来实现。 在 Mapreduce 中,如果需要自定义类的排序规则,需要让类实现 Writable 的子接口 WritableComparable,重写里面的 ...

    数据分析—排序.pdf

    实现 Comparable 接⼝需要实现 compareTo ⽅法 返回值只看类型,不看数值 负数 this 正数 this &gt; o ⾃定义排序,就是⾃定⽐较⼤⼩的规则,实现 compareTo ⽅法 正常的⼤⼩⽐较 == 升序 取反 == 降序

    Java集合框架的一个扑克牌小程序

    * SingleCard类 实现Comparable接口 * 功能:产生单支牌 * 属性:ID、color、keyID数组、keyColor数组 * 方法:public SingleCard(){} //无参构造函数 * public SingleCard(String ID,String color) //有参构造...

    深入理解Java之接口

    若我们想调用Arrays.sort方法对一个People对象数组进行比较,那么People对象必须是”可比较的”,即People类需要实现Comparable接口。接口的实现类需要实现接口中定义的方法。也是说,接口描述了一组需求,而实现一...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

Global site tag (gtag.js) - Google Analytics