Java 如何将字段设置为键并对类进行排序 班级人员{ 内部高度; 整数权重; } List=newarraylist();
我想用字段“height”作为键对列表进行排序Java 如何将字段设置为键并对类进行排序 班级人员{ 内部高度; 整数权重; } List=newarraylist();,java,list,sorting,collections,map,Java,List,Sorting,Collections,Map,我想用字段“height”作为键对列表进行排序 有没有我可以使用的预定义方法?如何将“高度”设置为我的键?创建一个比较器,它接受一个键并按该字段对其排序 另请参见 你可以让你的类实现可比性,这创造了所谓的自然秩序,但人们总是根据身高“多”或“少”似乎并不直观。更好的方法可能是创建一个比较器,然后可以与集合一起使用。sort对列表进行排序 (注意:在Java中,类名通常是类所代表的名称的单数形式,因此在您的情况下,将其命名为Person会更清晰。)-为了将某些对象放入特定的顺序,通常建议使用J
有没有我可以使用的预定义方法?如何将“高度”设置为我的键?创建一个比较器,它接受一个键并按该字段对其排序 另请参见
可比性
,这创造了所谓的自然秩序,但人们总是根据身高“多”或“少”似乎并不直观。更好的方法可能是创建一个比较器
,然后可以与集合一起使用。sort
对列表进行排序
(注意:在Java中,类名通常是类所代表的名称的单数形式,因此在您的情况下,将其命名为
Person
会更清晰。)-为了将某些对象放入特定的顺序,通常建议使用Java Collection Framework中的集合。并且,您有两个选项:
在同一类中实现Comparable
,并重写方法compareTo
。
在新类中实现接口Comparator
,并重写compare
方法。
在使用列表的情况下,您仍然可以执行这些操作,然后从集合中调用方法.sort()
class People {
int height;
int weight;
}
List<People> list = new ArrayList<People> ();
类HightSort实现比较器{
公共整数比较(一人、二人){
返回1.hight-2.hight;
}
}
集合。排序(列表);
我也可以使用Comparator对元组进行排序。
class HightSort implements Comparator<People > {
public int compare(People one, People two) {
return one.hight-two.hight;
}
}
Collections.sort(list);