Java8 Streams map 使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java8 Streams map 使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2460字,纯文字阅读大概需要4分钟。
内容图文
![Java8 Streams map 使用](/upload/InfoBanner/zyjiaocheng/733/4c8a40c601dc4b68bb2c0e4c527433c8.jpg)
引言
在 Java 8 中,stream (). Map ()允许您将一个对象转换为其他对象。查看下面例子:
1. 将 List 中的字符串转为大写
public static void main(String[] args) {
List<String> alpha = Arrays.asList("a", "b", "c", "d");
//Before Java8
List<String> alphaUpper = new ArrayList<>();
for (String s : alpha) {
alphaUpper.add(s.toUpperCase());
}
System.out.println(alpha); //[a, b, c, d]
System.out.println(alphaUpper); //[A, B, C, D]
// Java 8
List<String> collect = alpha.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[A, B, C, D]
// Extra, streams apply to any data type.
List<Integer> num = Arrays.asList(1,2,3,4,5);
List<Integer> collect1 = num.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(collect1); //[2, 4, 6, 8, 10]
}
2. 将 List 中的对象转为字符串
public class Developer {
private String name;
private BigDecimal salary;
private Integer age;
//...
}
public static void main(String[] args) {
List<Developer> persons = Arrays.asList(
new Developer("zhangsan", 20),
new Developer("lisi",21),
new Developer("wangwu",22));
//Before Java 8
List<String> result = new ArrayList<>();
for (Developer developer : persons) {
result.add(developer.getName());
}
System.out.println(result); // [zhangsan, lisi, wangwu]
//Java 8
List<String> collect = persons.stream().map(x -> x.getName()).collect(Collectors.toList());
System.out.println(collect); // [zhangsan, lisi, wangwu]
}
3. 将 List 中的对象转为另一个对象
public class Person {
private String name;
private int age;
private String extra;
//...
}
- Java 8 之前:
List<Developer> developers = Arrays.asList(
new Developer("zhangsan", 20),
new Developer("lisi",21),
new Developer("wangwu",22));
List<Person> result = new ArrayList<>();
for (Developer developer : developers) {
Person person = new Person();
person.setName(developer.getName());
person.setAge(developer.getAge());
if ("lisi".equals(developer.getName())) {
person.setExtra("i am lisi");
}
result.add(person);
}
System.out.println(JSONUtil.toJsonStr(result));
}
- java 8
List<Developer> developers = Arrays.asList(
new Developer("zhangsan", 20),
new Developer("lisi",21),
new Developer("wangwu",22));
List<Person> result = developers.stream().map(temp -> {
Person person = new Person();
person.setName(temp.getName());
person.setAge(temp.getAge());
if ("lisi".equals(temp.getName())) {
person.setExtra("i am lisi");
}
return person;
}).collect(Collectors.toList());
System.out.println(JSONUtil.toJsonStr(result));
源码见:java-8-demo
系列文章详见:Java 8 教程
内容总结
以上是互联网集市为您收集整理的Java8 Streams map 使用全部内容,希望文章能够帮你解决Java8 Streams map 使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。