java 集合按照某个字段排序 简便写法
时间: 2023-09-23 21:04:32 浏览: 111
在Java 8及以上版本中,可以使用lambda表达式和Stream API来对集合进行排序,非常简便。例如,如果我们有一个List<Person>,其中Person类有一个age属性,我们想按照age从小到大排序,可以这样写:
```
list.sort(Comparator.comparingInt(Person::getAge));
```
其中,list是我们要排序的List,Person::getAge表示获取Person对象的age属性值作为比较依据,Comparator.comparingInt()则表示按照整数大小进行比较。如果我们想按照age从大到小排序,可以这样写:
```
list.sort(Comparator.comparingInt(Person::getAge).reversed());
```
其中,reversed()表示反转比较顺序。除了按照整数大小比较,我们还可以使用其他比较器,例如按照字符串大小比较:
```
list.sort(Comparator.comparing(Person::getName));
```
这样就可以按照Person对象的name属性从小到大排序了。
相关问题
java list对象集合按照px字段排序
可以使用Java中的Collections.sort(List<T> list, Comparator<? super T> c)方法来进行排序。具体的操作是实现Comparator接口并重写compare方法,比较px字段的大小,然后传入该实现类的对象作为Collections.sort()方法的第二个参数,即可完成按照px字段排序的操作。
java list集合按字段排序
在 Java 中,可以使用 `Collections.sort` 方法对 List 集合进行排序。这个方法接受一个 `Comparator` 参数,用于指定排序规则。
如果要按某个字段进行排序,需要自定义一个 `Comparator` 实现类,在里面定义按字段比较的逻辑。然后,将这个 `Comparator` 对象传递给 `Collections.sort` 方法,就可以按指定的字段对 List 进行排序了。
下面是一个例子,假设有一个 Person 类,有 name 和 age 两个字段,要按 age 字段升序排序:
```
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<Person> people = ...; // 这里是人员列表
// 创建一个 Comparator 实现类,用于按 age 字段升序排序
Comparator<Person> comparator = new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge() - o2.getAge();
}
};
// 使用 Collections.sort 方法对人员列表按 age 字段升序排序
Collections.sort(people, comparator);
}
}
```
在这个例子中,我们定义了一个 `Comparator` 实现类,用于按照 age 字段的值进行升序排序。然后,调用 `Collections.sort` 方法对人员列表进行排序,就可以得到按 age 字段升序排序后的结果了。
注意,如
阅读全文