如果我有一个包含整数的列表,并且只需要一个方法来打印该列表中的某些数字。我该怎么做呢?我到目前为止的尝试是:
List<Integer> list = Arrays.asList(42, 3, 18, 16, 1, 1, 3, 9, 7, 6, 10,);
System.out.print("odd: ");
Predicate<Integer> MyIntegers = (n -> n % 2 != 0) ;
printSelected(MyIntegers, odd);
public static void printSelected(List<Integer> list, Predicate<Integer> predicate) {
list.forEach(n -> System.out.print(" " + n));它打印出所有的整数。
发布于 2017-02-10 18:31:33
您没有将谓词用于任何事情。你需要一个filter(predicate)
您最可能想要做的是
String odd = list.stream().filter(i -> i % 2 != 0).collect(Collectors.join(" "));发布于 2017-02-10 18:31:36
尝尝这个
List<String> result = list.stream()
.filter(//your lambda function that returns a bool based on some condition)
.collect(Collectors.toList());https://stackoverflow.com/questions/42157020
复制相似问题