java compareTo()
来源:互联网 发布:go高级编程书籍 编辑:程序博客网 时间:2024/05/22 13:41
compareTo就是比较两个值,如果前者大于后者,返回1,等于返回0,小于返回-1,我下面给出了例子,由于比较的变量我用的是int,int型可以直接比较,所有没有用到compareTo比较,如果声明的是Date、String、Integer或者其他的,可以直接使用compareTo比较,
public int compareTo(TestModel1 o) { return this.str1.compareTo(o.str1); }
compareTo方法内必须做非空判断(规范问题),当然int类型就不用了。
注意事项:
1.模型必须实现Comparable<T>接口 2.Collections.sort(list);会自动调用compareTo,如果没有这句,list是不会排序的,也不会调用compareTo方法 3.如果是数组则用的是Arrays.sort(a)方法
代码如下:
package test;import Java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test { public static void main(String[] args) { List<TestModel1> list = new ArrayList<TestModel1>(); list.add(new TestModel1(1,"","")); list.add(new TestModel1(3,"","")); list.add(new TestModel1(2,"","")); list.add(new TestModel1(6,"","")); list.add(new TestModel1(9,"","")); list.add(new TestModel1(7,"","")); System.out.print("排序前:"); for (TestModel1 t : list) { System.out.print(t.getInteger()+" "); } Collections.sort(list);//自动调用compareTo System.out.print("\n排序后:"); for (TestModel1 t : list) { System.out.print(t.getInteger()+" "); } }}
package test;public class TestModel1 implements Comparable<TestModel1>{ private int integer; private String str1; private String str2; public int getInteger() { return integer; } public void setInteger(int integer) { this.integer = integer; } public String getStr1() { return str1; } public void setStr1(String str1) { this.str1 = str1; } public String getStr2() { return str2; } public void setStr2(String str2) { this.str2 = str2; } public TestModel1(Integer integer, String str1, String str2) { super(); this.integer = integer; this.str1 = str1; this.str2 = str2; } public int compareTo(TestModel1 o) { if(this.integer<o.integer)return -1; else if(this.integer==o.integer)return 0; else return 1; }}
效果如下:
阅读全文
0 0
- Java compareTo
- JAVA compareTo
- java compareTo()
- Java compareTo作用
- java排序接口--compareTo
- java中的compareto方法
- Java String.compareTo()方法
- java中的compareTo函数
- Java compareTo和compare
- java compareTo 和 binarySearch
- Java String.compareTo()方法
- java compareTo()方法详解
- java中的compareto方法
- java中的compareto方法
- Java String.compareTo()方法
- Java中compareTo用法
- java String中的compareTo
- java compareto 小结
- 事件处理——仿酷狗音乐和QQ6.0侧滑菜单
- 算法第九节:求最大公约数和最小公倍数
- Problem 6 Sum square difference
- Java 常见小问题源代码 掷骰子 游戏 三个骰子,约定三个骰子的点数1-6
- 剑指offer:第32题从1到n整数中1出现的次数
- java compareTo()
- 【多线程应用2】CreateThread与_beginthreadex本质区别
- 随机生成字母数字的组合
- 函数签名(方法签名)Type signature
- javascript1
- 海思IVE函数使用-1 (DMA使用 HI_MPI_IVE_DMA)
- 关于java和python的环境搭建问题
- C语言重点知识复习2
- 面向对象6---抽象