2017-02-10 11 views
0

私は整数のリストを持っていて、そのリストから特定の番号を印刷する方法が1つだけ必要な場合。どうやってやるの?これまでの試み:ラムダとストリーム

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)); 

これはすべての整数を出力します。

+2

を試してみてくださいである必要があります。あなたは 'filter()'をやっていないので、あなたの述語は何にも使われていません。 – Kayaman

+0

本当に答えのコメントであるものを削除する文。 – Joseph

答えて

0

あなたは何かに述語を使用していません。あなたが最も可能性が高い何をしたいのかfilter(predicate)

String odd = list.stream().filter(i -> i % 2 != 0).collect(Collectors.join(" ")); 
0

はそれがない。もちろん、この

List<String> result = list.stream() 
    .filter(//your lambda function that returns a bool based on some condition) 
    .collect(Collectors.toList()); 
関連する問題