你作为一个Java领域的专家,请完成以下任务:利用stream流对list中的对象进行排序
时间: 2023-06-24 10:04:49 浏览: 97
好的,让我来演示一下如何使用Java 8中的Stream对List中的对象进行排序。
假设我们有一个Person类,其中包含id和name属性:
```
public class Person {
private int id;
private String name;
public Person(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "Person{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
```
现在我们有一个包含多个Person对象的List,我们想按id对它们进行排序。可以使用以下代码:
```
List<Person> personList = new ArrayList<>();
personList.add(new Person(2, "Tom"));
personList.add(new Person(1, "Jack"));
personList.add(new Person(3, "Amy"));
List<Person> sortedList = personList.stream()
.sorted(Comparator.comparing(Person::getId))
.collect(Collectors.toList());
System.out.println(sortedList);
```
在这里,我们首先将List转换为Stream,然后使用sorted方法对其进行排序,使用Comparator.comparing方法来指定排序的属性,最后使用collect方法将结果收集到另一个List中。输出结果为:
```
[Person{id=1, name='Jack'}, Person{id=2, name='Tom'}, Person{id=3, name='Amy'}]
```
这样就完成了利用stream流对list中的对象进行排序的任务。
阅读全文