`

comparatable and comparator

    博客分类:
  • java
阅读更多
package com.zhoubo.concurrent.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * 通过实现comparable来实现对对象的排序。
 * @author Administrator
 *
 */
public class OrderList2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add(new B(1));
		list.add(new B(4));
		list.add(new B(2));
		list.add(new B(3));
		list.add(new B(3));
		//排序之前的顺序
		System.out.println(list);
		Collections.sort(list);
		//排序之后的顺序
		System.out.println(list);

	}

}

class A {
	public int i = 0;
	public A(int ii) {
		this.i = ii;
	}
	
	@Override
	public String toString() {
		return i+"";
	}
}

class B extends A implements Comparable{
	public B(int ii){
		super(ii);
	}
	
	@Override
	public int compareTo(Object arg0) {
		if(this.i > ((A)arg0).i)
			return 1;
		else if(this.i == ((A)arg0).i)
			return 0;
		else
			return -1;
	}
}

 

package com.zhoubo.concurrent.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
 * 对list中的对象排序,使用comparator
 * @author Administrator
 *
 */
public class OrderList {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add(new Aobject(1));
		list.add(new Aobject(4));
		list.add(new Aobject(2));
		list.add(new Aobject(3));
		list.add(new Aobject(3));
		System.out.println(list);
		Collections.sort(list,new Acomparator());
		System.out.println(list);
	}	

}
class Aobject {
	public int i = 0;
	public Aobject(int ii) {
		this.i = ii;
	}
	
	@Override
	public String toString() {
		return i+"";
	}
}

class Acomparator implements Comparator{
	@Override
	public int compare(Object arg0, Object arg1) {
		if(((Aobject)arg0).i >((Aobject)arg1).i){
			return 1;
		}else if(((Aobject)arg0).i ==((Aobject)arg1).i){
			return 0;
		}else
			return -1;
	}
	
}

 

分享到:
评论

相关推荐

    TMS320x2802x, 2803x Piccolo Analog-to-Digital Converter (ADC) and Comparator.pdf

    “EOC and Interrupt Operation”(转换结束和中断操作)部分阐述了当ADC完成一次转换后如何生成中断信号,这对于实时控制系统而言非常重要,它能够及时通知处理器处理新转换的数据。另外,文档也详细说明了ADC的...

    ComparatorAndComparable

    教你学会Comparator和Comparable

    程序实现时间排序Comparator

    标题与描述均提到了“程序实现时间排序Comparator”,这表明文章的主题是关于如何在Java编程环境中使用`Comparator`接口来实现基于时间的排序。在Java中,`Comparator`是一个功能强大的工具,允许开发者自定义对象的...

    java Comparator 用法 例子

    Java中的Comparator接口是排序的关键工具,它允许程序员自定义对象的比较规则,从而在集合、数组或树结构(如TreeSet、TreeMap)中实现定制化的排序。在Java的Collections框架中,Comparator扮演着重要的角色,特别...

    Comparator

    Comparator是一款专为IT专业人士设计的文件比对工具,它的主要功能是进行文件内容的比较,并生成详细的对比报告。这个工具支持多种文件格式,包括ITD(可能是特定的项目文档格式)、DOC(Microsoft Word文档)以及...

    TMS320x2802x, 2803 Piccolo Analog-to-Digital Converter and Comparator Ref. Guide

    ### TMS320x2802x, 2803x Piccolo Analog-to-Digital Converter and Comparator Reference Guide #### 概述 本文档是关于TMS320x2802x和2803x Piccolo系列数字信号处理器(DSP)中的模拟到数字转换器(ADC)及比较...

    java排序Comparator和Comparable

    在Java编程语言中,排序是数据处理中一个非常常见的需求,而`Comparator`和`Comparable`接口则是实现排序的关键工具。这两个接口都是用于比较对象,但它们的应用场景和使用方式有所不同。 首先,`Comparable`接口是...

    比较器Comparator简单用法

    在Java编程中,`Comparator`接口是一个非常重要的工具,它允许我们自定义对象的排序规则。这个接口在处理集合类,如`ArrayList`、`TreeSet`或`PriorityQueue`时,尤其有用,当我们需要根据特定的标准进行排序,而...

    comparator接口与Comparable接口的区别

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

    Java中的Comparator 对多个排序条件的处理

    在Java编程中,`Comparator`接口是用于比较对象的关键工具,尤其在进行自定义排序时。这个接口提供了`compare()`方法,根据特定的规则来决定两个对象的相对顺序。当需要根据多个排序条件对集合进行排序时,可以使用...

    Comparable&Comparator区别

    ### Comparable与Comparator的区别详解 #### 一、引言 在Java编程中,为了对自定义对象进行排序,Java提供了两种接口:`Comparable`与`Comparator`。这两种接口各有优势,适用于不同的场景。本文将深入探讨这两种...

    Comparator 排序器

    ### Comparator 排序器 #### 简介 在Java编程语言中,`Comparator`接口是一种非常实用且灵活的工具,用于控制对象的排序方式。它允许开发人员自定义对象的比较逻辑,从而实现对集合(如`List`)中的元素进行排序。...

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

    在Java编程语言中,排序是常见的操作,而`Comparable`和`Comparator`接口则是实现对象排序的两种主要方式。这篇文章将深入探讨这两种实现方式及其在实际编程中的应用。 首先,`Comparable`接口位于`java.lang`包下...

    List对象集合的排序:比较器Comparator(简单例子)

    当需要对`List`中的对象进行自定义排序时,`Comparator`接口就派上了用场。`Comparator`是一个可以比较两个对象的类,它提供了一种方式来定义自定义的比较规则,从而实现灵活的排序逻辑。 `Comparator`接口位于`...

    java的Comparator和Comparable.docx

    在 Java 中,Comparator 和 Comparable 是两个非常重要的接口,它们用于对象的排序操作。这两个接口都是在 java.util 包中定义的,主要用于定制排序规则。 **一、Comparator 接口** Comparator 接口允许我们创建...

    java中Comparable和Comparator的区别

    在Java编程语言中,Comparable和Comparator接口是两个重要的概念,它们都用于对象的排序,但有着不同的使用场景和特点。本文将深入探讨这两个接口的区别,以及它们在实际开发中的应用。 首先,我们来了解一下...

    json_comparator_jar.zip

    本压缩包“json_comparator_jar.zip”提供了一个JSON比较工具,帮助开发者在Java环境下快速对比两个JSON对象或文件的差异。 该工具的关键在于,它能够解析并理解JSON格式的数据,然后进行深度比较,找出两者之间的...

    C8051F04X-Comparator0

    This software shows the necessary configuration to use Comparator0 as a reset source.

    String,number,String+number的Comparator排序

    在Java编程语言中,`Comparator`接口用于自定义对象的排序规则。`String`, `number`以及`String+number`的`Comparator`排序涉及到如何按照特定逻辑比较字符串、数字以及字符串与数字组合的对象。这篇博客文章(链接...

Global site tag (gtag.js) - Google Analytics