java-将多个集合中的不同对象的某个字段保存到同一集合-创新互联

场景

如需要将多个集合的中的某一个字段保存到统一集合中。

创新互联服务项目包括台州网站建设、台州网站制作、台州网页制作以及台州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,台州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到台州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

实体类:

@Data
	@Accessors(chain = true)
	public static class  User{private String name;
		private String id;
	}

	@Data
	@Accessors(chain = true)
	public static class  Student{private String name;
		private String id;
	}

场景:假设我们现在有两个集合,一个List一个List
我们需要把里面的name统一保存到一个集合中我们应该怎么做呢?


代码

提供一个获取集合中某个字段的方法

public staticListgetField (Listlist, Functionfunction){if (list == null || list.isEmpty()) {	return new ArrayList<>();
		}
		Listcollect = list.stream().map(v->function.apply(v)).collect(Collectors.toList());
		return collect;
	}
public static void main(String[] args) {// 准备测试数据
		ListuserList = new ArrayList<>(){{	add(new User().setId("id1").setName("user1"));
		}};
		ListstudentList = new ArrayList<>(){{	add(new Student().setId("id2").setName("student1"));
		}};

		Listlist= new ArrayList<>();
		list.addAll(getField(userList,User::getName));
		list.addAll(getField(studentList,Student::getName));
		System.out.println(list);
	}

输出->>>>[user1, student1]
如果需要统一保存id,只需要这样list.addAll(getField(userList,User::getId));


你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站名称:java-将多个集合中的不同对象的某个字段保存到同一集合-创新互联
文章源于:http://scyanting.com/article/dcihpp.html