java8 stream list
阿新 • • 發佈:2021-07-14
1、利用stream().forEach()迴圈處理List;
1 2 3 4 5 6 7 8 |
List<String> list = Lists.newArrayList(); //新建一個List 用的google提供的Guava package com.google.common.collect;
list.add( "1" );
list.add( "2" );
list.add( "3" );
list.stream().forEach(string ->{
System.out.println(string);
});
|
執行結果:
1
2
3
2、利用stream().map()處理List,並給另外一個List賦值:
// 利用stream進行型別轉化
List<String> stringList =
new
ArrayList<>();
stringList.add(
"a11"
);
stringList.add(
"b11"
);
stringList.add(
"c11"
);
stringList.add(
"d11"
);
stringList.add(
"e11"
);
List<Map<String,String>> stringList1 = stringList.stream().map(item->
{
Map<String,String> map =
new
HashMap<>();
map.put(
"name"
, item.toUpperCase());
return
map;
}
).collect(Collectors.toList());
1 2 3 4 5 6 7 8 9 10 11 12 13 |
List<String> list1 = Lists.newArrayList();
List<String> list2 = Lists.newArrayList();
list1.add( "1" );
list1.add( "2" );
list1.add( "3" );
list2 = list1.stream().map(string -> {
return "stream().map()處理之後:" + string;
}).collect(Collectors.toList());
list2.stream().forEach(string -> {
System.out.println(string);
});
|
執行結果:
1 2 3 |
stream().map()處理之後: 1
stream().map()處理之後: 2
stream().map()處理之後: 3
|
3、利用stream().filter()處理List,對該List進行過濾處理:
1 2 3 4 5 6 7 8 9 |
List<String> list1 = Lists.newArrayList();
List<String> list2 = Lists.newArrayList();
list1.add( "1" );
list1.add( "1" );
list1.add( "2" );
list1.add( "3" );
list2 = list1.stream().filter(s -> s != "1" ).collect(Collectors.toList());
System.out.println(list2.toString());
|
執行結果:
[2, 3]