gpt4 book ai didi

java - 查找对象列表中元素的最大大小

转载 作者:行者123 更新时间:2023-12-01 06:49:11 25 4
gpt4 key购买 nike

@Data
class Person {

private String fname;
private String lname;

private List<String> friends;
private List<BigDecimal> ratings;

...
}

@Data
class People {

private List<Person> people;

...
}

假设我有上述类(class),并且需要计算出一个人拥有的 friend 数量最多是多少。我知道预流的做法...通过循环列表中的每个元素并检查friends.size()是否大于当前存储的最长列表的数量。有没有办法用流来简化代码?类似 this answer

最佳答案

根据依赖于 Person.getFriends() 大小的比较器计算 People 中包含的最大 Person :

Optional<Person> p = people.getPeople()
.stream()
.max(Comparator.comparingInt(p -> p.getFriends()
.size()));

请注意,您也可以只检索最大好友数,而无需与以下对象关联:

OptionalInt maxFriends = people.getPeople()
.stream()
.mapToInt(p -> p.getFriends()
.size())
.max();

关于java - 查找对象列表中元素的最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com