stream().sorted()对list中对象属性中文排序
时间: 2023-08-17 16:48:42 浏览: 271
要对列表中的对象属性进行中文排序,您可以使用`Comparator.comparing`,并在其中指定对象属性的比较。以下是一个示例代码:
假设有一个包含Person对象的列表,个Person对象都有一个名字属性:
```java
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
现在,假设您有一个包含Person对象的列表`List<Person> personList`,您想按照Person对象的name属性进行中文排序。您可以使用以下代码:
```java
List<Person> sortedList = personList.stream()
.sorted(Comparator.comparing(Person::getName, Collator.getInstance(Locale.CHINESE)))
.collect(Collectors.toList());
```
在这个示例中,我们使用`Comparator.comparing`方法来指定按照Person对象的name属性进行比较。为了进行中文排序,我们传递了一个`Collator.getInstance(Locale.CHINESE)`作为比较器。
请注意,为了使中文排序生效,确保在比较器中使用适当的`Collator`实例。
希望这个示例能够满足您的需求!如果还有其他问题,请随时提问。
阅读全文