`
cscoder
  • 浏览: 15906 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java 类比较大小(实现Comparable接口)

 
阅读更多
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 两个类要想比较大小,
 * 就必须实现Comparable<T>接口,类型参数T通常设为实现该接口的类名
 * 实现Comparable<T>接口后,还要覆盖public int compareTo(<T> object)方法
 *		如果两个对象相等返回0
 *		当前对象大于方法传过来的对象时,返回一个正整数
 *      当前对象小于方法传过来的对象时,返回一个负整数
 *		而且相等时必须和equals()方法保持一致,即eaquls()方法要返回true
 *		否则相反
 */
public class comparablePoint implements Comparable<comparablePoint>{
	public int x;
	public int y;
	public comparablePoint(int x,int y)
	{
		this.x=x;
		this.y=y;
	}
	public int compareTo(comparablePoint point)
	{
		int s1=x*x+y*y;
		int s2=point.x-point.x+point.y*point.y;
		return s1-s2;
	}
	public String toString()
	{
		return "["+x+","+y+"]";
	}
	public static void main(String args[])
	{
		if(new comparablePoint(3, 4).compareTo(new comparablePoint(1, 1))>0)
			System.out.println("true");
		//线性表
		List<comparablePoint> points=new ArrayList<comparablePoint>();
		points.add(new comparablePoint(1, 6));
		points.add(new comparablePoint(3, 4));
		points.add(new comparablePoint(5, 2));
		System.out.println(points);
		Collections.sort(points);//调用Collections工具类进行排序
		System.out.println("排序后的情况");
		System.out.println(points);
	}
}

结果

true
[[1,6], [3,4], [5,2]]
排序后的情况
[[3,4], [5,2], [1,6]]


分享到:
评论

相关推荐

    Comparable接口和Comparator使用示例

    Comparable 接口是一种内部比较机制,需要被比较对象的类实现该接口。它提供了一个通用的比较机制,允许对象之间进行比较。 Comparator 是一种外部比较器接口,用于比较两个对象的大小。它可以独立于被比较的对象,...

    comparator接口与Comparable接口的区别

    应用场景:Comparable接口通常用于比较同一个类中的对象的大小,例如,我们可以在Person类中实现Comparable接口,以便比较Person类的对象的大小。 Comparator接口通常用于比较不同类中的对象的大小,例如,我们可以...

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

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

    Java8HashMap键与Comparable接口编程开

    Comparable接口是Java中用于定义对象之间自然顺序的接口,它只有一个方法`compareTo(T o)`,用于比较当前对象与指定对象的大小关系。当一个类实现了Comparable接口,那么它的实例就可以进行排序,比如在集合框架中...

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

    "java中的自定义排序实现" 在 Java 中实现自定义排序的需求是非常...这篇文章向大家展示了如何使用 Comparable 接口实现自定义排序的示例,这将有助于大家更好地理解 Java 中的排序机制,并更好地应用于实际开发中。

    492.490.JAVA基础教程_常用类-自定义类实现Comparable自然排序(492).rar

    **Comparable接口** `Comparable`接口是为那些需要比较的对象设计的。当你创建一个类,并希望它的实例能够在集合(如`ArrayList`或`TreeSet`)中按照特定的顺序排列时,你可以让该类实现`Comparable`接口。通过实现...

    Java中Comparable和Comparator的区别

    任何类如果实现了Comparable接口,就表明这个类的对象可以相互比较大小。例如,Java中的String、Integer等类都实现了Comparable接口,这使得我们可以直接使用这些对象进行自然顺序的比较。当我们需要按照特定规则对...

    Java类对象比较分析.pdf

    实现的方法主要包括两种:一种是继承了 Collections 类的类通过 sort 方法参数传递一个比较器实现排序比较大小,这种方法通过比较类实现 Comparator 接口,而在 Comparator 接口中有一个抽象方法:public int ...

    Java实验7抽象类和接口.pdf

    我们定义了一个 Comparable 接口,并让 Circle 和 Cylinder 实现这个接口,以便于比较它们的大小。 五、实验总结 通过这个实验,我们学习了抽象类、接口、Cloneable 接口和多态性的概念,并掌握了如何使用它们来...

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

    例如,Java中的String、Integer等内置类都实现了Comparable接口,可以方便地进行比较和排序。当你有一个实现了Comparable接口的对象列表或数组时,可以直接使用Collections.sort()或Arrays.sort()对其进行排序。...

    Java 比较接口comparable与comparator区别解析

    Java 语言中提供了两个比较接口: Comparable 和 Comparator,这两个接口都是用于比较对象的大小顺序的,但它们有着不同的使用场景和实现方式。在本文中,我们将详细介绍这两个接口的区别和使用方法。 Comparable ...

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

    当一个类实现了Comparable接口,就意味着该类的实例可以相互比较,并且能够明确它们之间的顺序。compareTo方法用于定义类实例间的比较规则,返回值为整数,表示当前对象与传入对象的大小关系。如果当前对象大于传入...

    Java 类自定义排序

    Java 类自定义排序 Java 中的自定义排序是指在编写 Java 程序时,...自定义排序是 Java 中的一种非常重要的技术,通过实现 Comparable 接口,我们可以对自定义的对象进行排序,并且可以根据不同的比较规则进行排序。

    java 中Comparable与Comparator详解与比较

    Comparable接口定义在`java.lang`包中,它只有一个方法`compareTo(T o)`,用于比较当前对象与另一个对象的大小。当一个类实现了Comparable接口,意味着类的实例可以被自然排序,无需额外的比较器。例如,String类就...

    学习Java实验7抽象类和接口.pdf

    在本实验中,我们创建了一个接口 Comparable,包含一个抽象方法 compareTo,用于比较对象的大小。然后,我们创建了两个类 ComparableCircle 和 ComparableCylinder,分别继承自 Circle 和 Cylinder,并实现了 ...

    详解Java中Comparable和Comparator接口的区别

    * 一个类实现了Comparable接口,就意味着“该类本身支持排序”,它可以直接通过Arrays.sort() 或 Collections.sort()进行排序。 * (02) "Comparator" * 它是一个比较器接口,包括两个函数:compare() 和 equals...

    Java中Comparable和Comparator 2种实现方式学习

    首先,`Comparable`接口位于`java.lang`包下,它定义了一个`compareTo()`方法,用于比较当前对象与另一个对象的大小。任何类如果需要自定义排序规则,只需实现这个接口并重写`compareTo()`方法。例如,`String`、`...

    Java语言程序设计ppt第十四章(抽象类和接口)

    例如,String 类实现了 Comparable 接口,以便比较字符串的大小。 使用 ActionListener 接口实现对象对动作事件的监听 ActionListener 接口是一个接口,它只有一个抽象方法 `actionPerformed`,这个方法用于响应...

    Comparable与Comparator的区别

    例如,String、Integer等内置类已经实现了Comparable接口,可以方便地进行大小比较。当我们自定义一个类并希望它在集合(如List)中能自动排序时,就需要实现Comparable接口。通过重写`compareTo()`方法,我们可以...

    抽象类和接口 java

    这里引入了`Comparable`接口,它是Java中用于比较对象大小的标准接口。`Teacher`类实现了`Comparable&lt;Teacher&gt;`接口,并重写了`compareTo`方法,根据教师的编号来进行排序。这使得`Arrays.sort`方法可以直接应用于`...

Global site tag (gtag.js) - Google Analytics