1700445641
1700445642
/*height的getter/setter方法省略*/
1700445643
1700445644
//按照身高排序
1700445645
1700445646
public int compareTo(Person o){
1700445647
1700445648
return height-o.height;
1700445649
1700445650
}
1700445651
1700445652
}
1700445653
1700445654
这是set的简单用法,定义一个Set集合,之后放入两个元素,虽然175后放入,但是由于是按照升序排列的,所以输出的结果应该是175在前,180在后,结果如下:
1700445655
1700445656
身高:175
1700445657
1700445658
身高:180
1700445659
1700445660
这没有问题,随着时间的推移,身高175cm的人长高了10cm,而180cm却保持不变,那排序的位置应该改变一下吧,看代码:
1700445661
1700445662
public static void main(String[]args){
1700445663
1700445664
SortedSet<Person>set=new TreeSet<Person>();
1700445665
1700445666
//身高180CM
1700445667
1700445668
set.add(new Person(180));
1700445669
1700445670
//身高175CM
1700445671
1700445672
set.add(new Person(175));
1700445673
1700445674
//身高最矮的人大变身
1700445675
1700445676
set.frst().setHeight(185);
1700445677
1700445678
for(Person p:set){
1700445679
1700445680
System.out.println(“身高:”+p.getHeight());
1700445681
1700445682
}
1700445683
1700445684
}
1700445685
1700445686
找出身高最矮的人,也就是排在第一个位的人,然后修改一下身高值,我们猜想一下输出结果是什么?重新排序了?看输出:
1700445687
1700445688
身高:185
1700445689
1700445690
身高:180
[
上一页 ]
[ :1.700445641e+09 ]
[
下一页 ]