[英]A method which accepts two integer values as input parameters and returns the boolean
[英]How to create method which get two parameters - stream and integer
我需要实现接受 Stream 和整数并返回字符串列表的方法。 该列表应根据 int 数字分组 - 从高到低排序并仅返回数字
我想在一个流中完成它并得到这样的东西:
public static List<String> groupFunc(Stream<Nums> nums, int pass) {
List<Object> myList = nums.filter(s-> s.getScore() >= pass).sorted(Comparator.naturalOrder(s)).collect(Collectors.toList());
}
List<Nums> nums = new ArrayList<Nums>();
nums.add(new Nums("A", 80));
nums.add(new Nums("B", 57));
nums.add(new Nums("C", 21));
groupFunc(nums.stream(), 50).forEach(System.out::println);
// should print "A","B"
你能帮我处理这个流吗? 我不知道我是否应该使用过滤器+排序。 或者可能是foreach? 这个Comparator.naturalOrder
只是暂时的。
接口Comparator
中的实用方法对于帮助处理这些类型的操作非常有用:
public static List<String> groupFunc(Stream<Nums> nums, int pass) {
return nums
.filter(s-> s.getScore() >= pass)
.sorted(Comparator.comparing(Nums::getScore).reversed())
.map(Nums::getName)
.collect(Collectors.toList());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.