获取流之后,可以使用映射方法:
map(用于转换的Lambda表达式)
映射:就是将一个对象转换成另一个对象,把老对象映射到新对象上。
例如:
“小颖,91” 转换为 “91” :将一个长字符转换成为一个短字符;
“98” 转换为 98 :将一个字符串转换为一个int数字;
举例一:
public static void main(String[] args) {
List<String> ls = new ArrayList<>();
ls.add("小白");
ls.add("小黑子");
ls.add("蓝天白");
ls.add("小红");
//map映射,变为新的字符串
ls.stream().map(a -> a + "新的字符串").forEach(System.out::println);
//map转为一个学生对象
ls.stream().map( b -> new Student(b,22)).forEach(System.out::println);
}
举例二:
“98” 转换为 98 :将一个字符串转换为一个int数字;
“小颖,91” 转换为 “91” :将一个长字符转换成为一个短字符;
public class StreamMap {
public static void main(String[] args) {
//这个集合当中存放的是字符串类型
ArrayList<String> list = new ArrayList<>();
list.add("100");
list.add("200");
list.add("300");
//字符串转字符
//"98" 转换为98:将一个字符串转换为一个int数字;
Stream<Integer> streamA = list.stream().map((String str) -> {
int num = Integer.parseInt(str);
return num;
});
Stream<Integer> streamB = list.stream().map(str ->{
int num = Integer.parseInt(str);
return num;
});
Stream<Integer> streamC = list.stream().map(str ->{
return Integer.parseInt(str);
});
Stream<Integer> streamD = list.stream().map(Integer::parseInt);
//分割字符串
//"小颖,91" 转换为"91":将一个长字符转换成为一个短字符;
ArrayList<String> list2 = new ArrayList<>();
list2.add("小颖,91");
list2.add("姚明,95");
list2.add("小红,87");
Stream<String> stream1 = list2.stream().map((String str) ->{
String[] array = str.split(",");
String result = array[1];
return result;
});
Stream<String> stream2 = list2.stream().map(str ->{
String[] array = str.split(",");
String result = array[1];
return result;
});
Stream<String> stream3 = list2.stream().map(str ->{
String[] array = str.split(",");
return array[1];
});
Stream<String> stream4 = list2.stream().map(str ->{
return str.split(",")[1];
});
Stream<String> stream5 = list2.stream().map(str -> str.split(",")[1]);
}
}