中文JAVA技術(shù)平等自由協(xié)作創(chuàng)造

          Java專題文章博客和開源

          常用鏈接

          統(tǒng)計

          最新評論

          Comparable接口中compareTo用法

            compareTo就是比較兩個值,如果前者大于后者,返回1,等于返回0,小于返回-1,我下面給出了例子,由于比較的變量我用的是int,int型可以直接比較,所有沒有用到compareTo比較,如果聲明的是Date、String、Integer或者其他的,可以直接使用compareTo比較,托福考前答案

            public int compareTo(TestModel1 o) {

            return this.str1.compareTo(o.str1);

            }compateTo方法內(nèi)必須做非空判斷(規(guī)范問題),當然int類型就不用了。

            注意事項:

            1模型必須實現(xiàn)Comparable<T>接口

            2Collections.sort(list);會自動調(diào)用compareTo,如果沒有這句,list是不會排序的,也不會調(diào)用compareTo方法托福答案

            3如果是數(shù)組則用的是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);//自動調(diào)用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;

            }

            }
           

          posted on 2013-09-07 11:25 好不容易 閱讀(242) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          PK10開獎 PK10開獎
          主站蜘蛛池模板: 丁青县| 会理县| 淅川县| 乐至县| 浦城县| 县级市| 新沂市| 嘉黎县| 昌平区| 平阳县| 兴化市| 孝昌县| 绥棱县| 东城区| 营山县| 丘北县| 枝江市| 辽宁省| 周至县| 临邑县| 西平县| 南宫市| 平江县| 靖江市| 镇原县| 龙海市| 那曲县| 磴口县| 名山县| 循化| 绥芬河市| 寻甸| 九台市| 田东县| 巩留县| 南安市| 鹰潭市| 高密市| 韶关市| 淅川县| 沙洋县|