`
davice_li
  • 浏览: 93348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Comparable接口使用1

阅读更多
一个实现了Comparable接口的类在一个Collection(集合)里是可以排序的,而排序的规则是按照你实现的Comparable里的抽象方法compareTo(Object o) 方法来决定的。

我写了一个例子,自己看吧:

/*
 * Created on 2006-1-8, by handpower
 */
package study.others;

import java.util.Arrays;

//实现Comparable接口,使该类的对象可排序
public class TestComparable implements Comparable {

 //该类的属性i
 private double i = Math.random();

 //实现Comparable接口的抽象方法,定义排序规则
 public int compareTo(Object o) {
  //定义排序规则: TestComparable对象里的属性i大的则排序时比较"大"(排序靠后) 
  if (o instanceof TestComparable) {
   if (i > ((TestComparable) o).i) {
    return 1;
   } else {
    return -1;
   }
    return 0;
  } else {
  //非TestComparable对象与之比较,则抛出异常
  throw new ClassCastException("Can't compare");
 }
 }
 
 //重载toString方法定义输出
 public String toString() {
  return ""+i;
 }

 //测试
 public static void main(String[] args) {
  //建立一个数组, 元素为3个TestComparable对象
  TestComparable[] c = new TestComparable[] { new TestComparable(),
    new TestComparable(), new TestComparable() };
  //排序前
  System.out.println(Arrays.asList(c));
  //排序
  Arrays.sort(c);
  //排序后
  System.out.println(Arrays.asList(c));
 }
}
分享到:
评论

相关推荐

    Comparable接口和Comparator使用示例

    Comparable 接口和 Comparator 使用示例 在 Java 编程语言中,比较和排序是非常常见的操作。Comparable 接口和 Comparator 是两种常用的比较和排序方式。在本文中,我们将通过实例代码,详细介绍 Comparable 接口和...

    comparator接口与Comparable接口的区别

    Comparator接口与Comparable接口的区别 Comparator接口与Comparable接口是Java语言中两个重要的接口,它们都是用于比较和排序自定义类的对象的大小的。虽然它们两个都是用于比较的接口,但是它们有着不同的实现方式...

    java,Comparable接口实例

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

    Comparable接口实现字符串比较大小排序的简单实例

    java通过Comparable接口实现字符串比较大小排序的简单实例

    Java8HashMap键与Comparable接口编程开

    这里我们将深入探讨Java 8 HashMap如何与Comparable接口结合使用,以及这背后的编程技术和设计原理。 首先,我们了解下Comparable接口。Comparable接口是Java中用于定义对象之间自然顺序的接口,它只有一个方法`...

    java 实现Comparable接口排序,升序、降序、倒叙

    在 Java 中,实现 Comparable 接口的类可以使用 Arrays.sort() 或 Collections.sort() 方法对对象列表进行排序。 在本文中,我们将详细介绍如何使用 Comparable 接口对 Java 对象进行排序,包括升序、降序和倒叙...

    浅析Java中comparator接口与Comparable接口的区别

    这意味着如果你有一个实现了Comparable接口的对象列表(如List),你可以直接使用Collections.sort()或者Arrays.sort()方法对这个列表进行排序。例如,String类就默认实现了Comparable接口,因此可以直接对字符串...

    推选Comparable自比较接口PPT资料.pptx

    此外,通过Java的工具类`Collections`和`Arrays`,可以对实现了Comparable接口的对象列表或数组进行自动排序,如使用`Collections.sort()`和`Arrays.sort()`方法。 在Java中,一些预定义的类,如`Integer`、`Double...

    java中实现Comparable接口实现自定义排序的示例

    这篇文章将为大家带来一个使用 Comparable 接口实现自定义排序的示例。 首先,让我们来了解一下 Comparable 接口。Comparable 接口是 Java 中的一个接口,它定义了一个compareTo 方法,该方法用于比较两个对象的...

    java中Comparable和Comparator的区别

    值得注意的是,Comparable接口的排序是全局的,也就是说,所有实现了Comparable接口的对象都将遵循同一个排序规则。而Comparator接口的排序是局部的,即在每个特定的排序操作中,可以根据需要创建不同的Comparator...

    【IT十八掌徐培成】Java基础第12天-02.TreeSet实现与Comparable接口.zip

    本课程重点讲解了`TreeSet`如何实现`Comparable`接口以及如何自定义比较规则。 首先,我们来了解`TreeSet`的基本概念。`TreeSet`内部使用红黑树数据结构存储元素,这使得它的插入、删除和查找操作具有较高的效率,...

    Comparable&Comparator区别

    #### 二、Comparable接口解析 ##### 1. 概念介绍 `Comparable`接口位于`java.lang`包中,它定义了一个单一的方法`compareTo`。这个接口适用于那些具有自然顺序的对象。当一个类实现了`Comparable`接口时,意味着它...

    Comparable接口和Comparator接口的比较

    1. Comparable接口详解 Comparable接口位于java.lang包中,它定义了一个单一的方法compareTo(Object o),用于比较当前对象与指定对象的顺序。当一个类实现Comparable接口时,表示该类的实例可以自然排序。例如,...

    java比较器Comparable接口与Comaprator接口的深入分析

    Java中的比较器主要涉及到两种接口:Comparable接口和Comparator接口,它们在处理对象排序时起着关键作用。 **Comparable接口** Comparable接口是Java.lang包下的一个接口,它只有一个方法:compareTo(T o)。当一个...

    Comparable和Comparator区分1

    Comparable接口是Java中用于对象排序的关键接口,主要应用于需要自动排序的场景。当一个类实现了Comparable接口,意味着该类的对象具备内在的比较逻辑,可以直接进行比较。例如,我们可以创建一个Person类,让它实现...

    comparable和compartor区别

    #### 二、Comparable接口详解 `Comparable`接口是一种内置的比较机制,它允许一个类能够自我比较,即一个类自己实现了如何与其他同类型的对象进行比较的方法。当我们希望一个类能够按照某种规则进行排序时,就可以让...

    Comparable与Comparator的区别

    **Comparable接口** Comparable接口位于`java.lang`包下,它是一个对象自比较的接口。任何类如果需要进行排序,可以实现Comparable接口。例如,String、Integer等内置类已经实现了Comparable接口,可以方便地进行...

    Java中Comparable和Comparator的区别

    例如,Java中的String、Integer等类都实现了Comparable接口,这使得我们可以直接使用这些对象进行自然顺序的比较。当我们需要按照特定规则对类实例进行排序时,只需要在自定义类中实现Comparable接口,并重写`...

    对比Java中的Comparable排序接口和Comparator比较器接口

    当你有一个实现了Comparable接口的对象列表或数组时,可以直接使用Collections.sort()或Arrays.sort()对其进行排序。Comparable接口只有一个方法,即`compareTo(T o)`,用于比较当前对象与传入的对象o的大小关系。...

Global site tag (gtag.js) - Google Analytics