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

          Java專題文章博客和開源

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          Comparable接口中compareTo用法

            compareTo就是比較兩個(gè)值,如果前者大于后者,返回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ī)范問題),當(dāng)然int類型就不用了。

            注意事項(xiàng):

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

            2Collections.sort(list);會(huì)自動(dòng)調(diào)用compareTo,如果沒有這句,list是不會(huì)排序的,也不會(huì)調(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);//自動(dòng)調(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 好不容易 閱讀(236) 評(píng)論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          PK10開獎(jiǎng) PK10開獎(jiǎng)
          主站蜘蛛池模板: 松阳县| 庆安县| 招远市| 开江县| 开远市| 长子县| 长兴县| 商城县| 保康县| 乐昌市| 平邑县| 武清区| 盐池县| 苗栗市| 清原| 唐海县| 乌鲁木齐市| 胶州市| 云和县| 兰坪| 仁化县| 兴国县| 喀喇沁旗| 历史| 确山县| 宁夏| 马尔康县| 平果县| 乌拉特前旗| 阿坝| 无锡市| 夏河县| 黄冈市| 青河县| 绥中县| 广水市| 成武县| 荆州市| 开化县| 鄄城县| 临沭县|