Java8集合交集操作(不看后悔系列)

Java8集合交集操作

1.用到的实体类

User.java

public class User {
	private Integer userId;
	private String orgId;
	private String name;
	private String phone;
	
	public User() {
		super();
	}
	
	public User(Integer userId, String orgId, String name, String phone) {
		super();
		this.userId = userId;
		this.orgId = orgId;
		this.name = name;
		this.phone = phone;
	}

	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public String getOrgId() {
		return orgId;
	}
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	@Override
	public String toString() {
		return "User [userId=" + userId + ", orgId=" + orgId + ", name=" + name
				+ ", phone=" + phone + "]";
	}
	
}

2.操作集合的类

Test.java

public class Test{
    public static void main(String[] args) {
        //第一个arrayList
        List<User> userList=new ArrayList<>();
        //第二个arrayList
        ArrayList<String> serviceCodes=new ArrayList<>();
        int i=0;
        String prefix_orgid="10086";
        for(int j=0;j<10;j++){
            userList.add(new User(i,prefix_orgid+i,"张"+i,"10086"));
            i++;
        }
        System.out.println("userList:");
        for(User user:userList){
            System.out.println(user.toString());
        }
        i=0;
        for(int j=0;j<5;j++){
            serviceCodes.add(prefix_orgid+i);
            i++;
        }
        System.out.println("serviceCodes:");
        for(String s:serviceCodes){
            System.out.println(s);
        }
        /**
         * JDK8集合新特性,取交集
         * filter跟foreach类似,如果原来是List<T>,取的就是T对象
         * 箭头后面跟的是过滤的条件
         * 过滤好了之后需要把流转回集合
         */
        List<User> filterList=userList.stream()
                .filter(user -> serviceCodes.contains(user.getOrgId()))
                .collect(Collectors.toList());
        System.out.println("JDK8集合过滤之后:");
        filterList.forEach(item->{
            System.out.println(item.toString());
        });
    }
}

运行截图:
在这里插入图片描述
在这里插入图片描述
关注公众号,获取更多资源
在这里插入图片描述

每天进步一点点,开心也多一点点

发布了60 篇原创文章 · 获赞 66 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_40169642/article/details/103597193