普通java类(排序)实现Comparable接口重写CompareTo方法
普通的类要实现排序,必须实现Comparable接口,并重写CompareTo()方法。
packagetest;publicclassFieldimplementsComparable{privateStringname;privateintage;publicField(){}publicField(Stringname,intag{this.name=name;this.age=age;}publicStringgetName(){returnname;}publicvoidsetName(Stringnam{this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intag{this.age=age;}@OverridepublicintcompareTo(Fieldo){//先按age排序if(this.age>o.getAge()){return(this.age-o.getAge());}if(this.age0){return1;}if(this.namcompareTo(o.getName())<0){return-1;}return0;}}
测试类按照某属性进行排序输出:
packagetest;importjavutiArrayList;importjavutiCollections;importjavutiList;publicclassTest2{publicstaticvoidmain(String[]args){Fieldf1=newField('tony',1;Fieldf2=newField('jack',1;Fieldf3=newField('tom',1;Fieldf4=newField('jason',4;Listlist=newArrayList();list.add(f;list.add(f;list.add(f;list.add(f;Collections.sort(list);for(Fieldo:list){Systeout.println(o.getAge()+'-->'+o.getName());}}}
普通java类(排序)实现Comparable接口重写CompareTo方法
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点