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());
        });
    }
}

運行截圖:
在這裏插入圖片描述
在這裏插入圖片描述
關注公衆號,獲取更多資源
在這裏插入圖片描述

每天進步一點點,開心也多一點點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章