本サイトはプロモーション(広告)が含まれています。

【Java】Streamの使い方まとめてみた

【Java】Streamの使い方まとめてみた

Streamの生成

 StreamはList、Setはstream()メソッド、MapはentrySet().stream()メソッド、配列はStream.of()メソッドを使用することで生成できます。

//ListのStreamを取得する
List<String> lst = new ArrayList<>();
Stream <String> streamlist = lst.stream();

//SetのStreamを取得する
Set<String> set = new HashSet<>();
Stream <String> streamset = set.stream();
 
//MapのStreamを取得する
Map<String, String> map = new HashMap<>();
Stream <Map.Entry<String,String>> stream = map.entrySet().stream();

//配列のStreamを取得する 
String[] array = {"1","2","3","4"};
Stream <String> streamarray = Stream.of(array);

forEach:要素の繰り返し処理

forEachを使用すると、要素の繰り返し処理を実施することができます。

List<String> lst = Arrays.asList("1","2","3","4");
Stream <String> streamlist = lst.stream();
streamlist.forEach(s -> System.out.println(s));

//実行結果 
1
2
3
4

count() :要素数を取得する

count()メソッドを使用すると、Streamの要素数を取得することができます。

List<String> lst = new ArrayList<>();
Stream <String> streamlist = lst.stream();
System.out.println(streamlist.count());
lst.add("1");
lst.add("2");
Stream <String> streamlist2 = lst.stream();
System.out.println(streamlist2.count());

//実行結果 
0
2

distinct():重複要素を排除

distinct()メソッドを使用すると、Streamの重複要素を排除ことができます。

List<String> lst = Arrays.asList("1","2","3","3");
Stream <String> streamlist = lst.stream();
Stream <String> streamlist2 = lst.stream();
System.out.println(streamlist.count());
System.out.println(streamlist2.distinct().count());

//実行結果 
4
3

filter:条件に合致する要素のみStreamを取得

filterを使用すると、条件に合致する要素のみStreamを取得することができます。

List<String> lst = Arrays.asList("1","2","3","4","2","2","4");
Stream <String> streamlist = lst.stream();
long l = streamlist.filter(s -> s.equals("2")).count();
System.out.println(l);

//実行結果 
3

concat:Streamを連結

concatを使用すると、連結したStreamを取得することができます。

Stream <String> stm1 = Stream.of("1","2","3");
Stream <String> stm2 = Stream.of("4","5","6");
Stream <String> stm3 = Stream.concat(stm1, stm2);
stm3.forEach(System.out ::println);

//実行結果 
1
2
3
4
5
6

sorted:要素をソート

sortedを使用すると、自然順序付けでソートします。

Stream <String> stm = Stream.of("5","2","3","1");
stm.sorted().forEach(System.out ::println);

//実行結果 
1
2
3
5

Javaの記事一覧へ

PAGE TOP