まず、java.util.stream.Streamクラスを使用してストリームを作成します。次に、パターンとマッチする要素を抽出するためにプレディケートを使用します。
以下に、具体的なコード例を示します。
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "banana", "cat", "dog", "elephant");
// パターンとマッチする要素を抽出するプレディケート
Pattern pattern = Pattern.compile("a.*");
Stream<String> matchingWords = words.stream().filter(pattern.asPredicate());
// 結果を出力
matchingWords.forEach(System.out::println);
}
}
上記の例では、文字列のリストからパターン "a.*" にマッチする要素を抽出しています。Pattern.asPredicate()
メソッドを使用して、パターンをプレディケートに変換し、filter
メソッドを使用してストリームの要素をフィルタリングしています。
実行結果は次のようになります:
apple
この例では、"apple"という要素がパターンにマッチするため、結果として "apple" が出力されます。
以上が、パターンからプレディケートを使用してストリームを作成する方法の一例です。これにより、指定した条件に基づいてストリームの要素を抽出することができます。