java – 根据set中的值过滤列表中的值
发布时间:2020-12-15 05:18:37 所属栏目:Java 来源:网络整理
导读:我正在尝试使用 java 8来解决以下问题.说我有以下(A和B是自定义类) ArrayListA skills;HashSetB workCenters; 我需要做的是找到值是否也包含在B中的字符串a.getDepartment(),它还包含方法String getDepartment(),然后将它们收集到新的List A中. 我试过这样的
我正在尝试使用
java 8来解决以下问题.说我有以下(A和B是自定义类)
ArrayList<A> skills; HashSet<B> workCenters; 我需要做的是找到值是否也包含在B中的字符串a.getDepartment(),它还包含方法String getDepartment(),然后将它们收集到新的List< A>中. 我试过这样的: List<A> collect = skills.stream() .filter(s -> workCenters.contains(s.getDepartment()) .collect(Collectors.toList()); 但在这种情况下我没有做对,因为我无法从workCenters中检索getDepartment().什么是正确的解决方案? 解决方法
您可以从转换HashSet< B>开始到HashSet< String>然后使用您的代码:
Set<String> bDeps = workCenters.stream() .map(B::getDepartment) .collect(Collectors.toSet()); List<A> collect = skills.stream() .filter(s -> bDeps.contains(s.getDepartment())) .collect(Collectors.toList()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – JPA:为什么没有创建连接表?
- 如何从Java中的字符串创建对象(如何评估字符串)?
- java – 我可以在JAXWS Web服务方法中返回Hibernate Entiti
- Java Socket编程服务器响应客户端实例代码
- JavaFX:在textArea中设置文本后,在单独的线程中设置滚动到
- 舍入java Float.parseFloat
- 导入javax.servlet.annotation无法解析
- java – 在Hadoop Map-Reduce中,任何类在排序之后和分区之前
- java – setSpan的IndexOutOfBoundsException – 在我的应用
- java – Android的位置.getAccuracy()返回1