Java 如何将字段设置为键并对类进行排序 班级人员{ 内部高度; 整数权重; } List=newarraylist();

Java 如何将字段设置为键并对类进行排序 班级人员{ 内部高度; 整数权重; } List=newarraylist();,java,list,sorting,collections,map,Java,List,Sorting,Collections,Map,我想用字段“height”作为键对列表进行排序 有没有我可以使用的预定义方法?如何将“高度”设置为我的键?创建一个比较器,它接受一个键并按该字段对其排序 另请参见 你可以让你的类实现可比性,这创造了所谓的自然秩序,但人们总是根据身高“多”或“少”似乎并不直观。更好的方法可能是创建一个比较器,然后可以与集合一起使用。sort对列表进行排序 (注意:在Java中,类名通常是类所代表的名称的单数形式,因此在您的情况下,将其命名为Person会更清晰。)-为了将某些对象放入特定的顺序,通常建议使用J

我想用字段“height”作为键对列表进行排序


有没有我可以使用的预定义方法?如何将“高度”设置为我的键?

创建一个比较器,它接受一个键并按该字段对其排序

另请参见


你可以让你的类实现
可比性
,这创造了所谓的自然秩序,但人们总是根据身高“多”或“少”似乎并不直观。更好的方法可能是创建一个
比较器
,然后可以与
集合一起使用。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);