javastream流排序
时间: 2023-11-03 16:03:20 浏览: 114
java排序
5星 · 资源好评率100%
Java 8引入的Stream API提供了一种方便的方式来对集合进行排序。可以使用sorted()方法对流进行自然排序,或者使用sorted(Comparator<T> comparator)方法对流进行自定义排序。
下面是一个示例代码,演示如何对一个字符串列表进行排序:
```java
List<String> list = Arrays.asList("banana", "apple", "pear", "orange");
List<String> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList);
```
输出结果为:[apple, banana, orange, pear]
如果要对一个对象列表进行排序,则需要指定排序的属性,可以使用Comparator.comparing()方法来指定。
假设有一个Person类:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
现在有一个Person对象列表:
```java
List<Person> people = Arrays.asList(
new Person("John", 30),
new Person("Mary", 25),
new Person("Bob", 20)
);
```
可以使用如下代码对该列表按照年龄进行排序:
```java
List<Person> sortedPeople = people.stream()
.sorted(Comparator.comparing(Person::getAge))
.collect(Collectors.toList());
System.out.println(sortedPeople);
```
输出结果为:
```
[Person{name='Bob', age=20}, Person{name='Mary', age=25}, Person{name='John', age=30}]
```
以上就是Java Stream流排序的示例代码。
阅读全文