记录
开始在工作中接触一些Java 8 的内容,也开始使用Stream处理集合.下面是一些代码,有的是自己写的,有的来源于网上.
源码
import java.util.*; import java.util.stream.Collectors; class User { private String code; private String name; public User() { } public User(String name, String code) { this.code = code; this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class CsdnTestDemo { private static final String[] TAG = {"张三", "李四", "王五"}; public static void main(String[] args) { List<User> lists = new ArrayList<>(); lists.add(new User("张三", "1")); lists.add(new User("李四", "2")); lists.add(new User("王五", "3")); lists.add(new User("小六", "4")); lists.add(new User("第七", "5")); lists.add(new User("第八", "6")); // 从列表中过滤key,并返回对应的value List<String> resultList = lists.stream().filter(p -> Arrays.asList(TAG).contains(p.getName())).map(p -> p.getCode()).collect(Collectors.toList()); resultList.forEach(x -> System.out.println(x)); // 实体对象转换为Map. Map<String,String> maps = lists.stream().collect(Collectors.toMap(User::getName,User::getCode)); // 总和. int sum = lists.stream().mapToInt(m->Integer.valueOf(m.getCode())).sum(); System.out.println("总和"+sum); } }