comparatable and comparator
程序员文章站
2022-04-06 15:34:00
...
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;
}
}
上一篇: 1003 我要通过!(20)(20 分)
下一篇: opencv 图像旋转任意角度
推荐阅读
-
转:Comparable vs Comparator in Java
-
Comparator的compare方法如何定义升序降序
-
Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式
-
Java基础系列-Comparable和Comparator
-
为什么会有Comparable与Comparator接口? 引入策略模式
-
【JAVA】用Comparable接口学生的成绩做降序排序!请正确指定泛型;用Comparator实现按照姓名排序,请正确指定泛型!
-
Collections包装类和Comparator比较器
-
似懂非懂的Comparable与Comparator
-
Comparator与Comparable的区别
-
Java Comparable和Comparator简介