java - 如何在Java中创建多个集合中所有元素的 View ?

标签 java collections

我有这个锅炉房代码

for(Person p: school.getStudents())
    p.setName(null);

for(Person p: school.getTeachers())
    p.setName(null);

for(Person p: school.getStrangers())
    p.setName(null);

我可以在 View 中“组合”所有这些集合(即避免像通过 addAll() 那样复制/分配内存)并迭代 View 吗?

例如

for(Person p: allOf(school.getStudents(), school.getTeachers(), school.getStrangers())
    p.setName(null);

最佳答案

您可以使用Guava的Iterables.concat()方法。它在传递给它的多个可迭代对象上创建一个 View ,然后您可以迭代生成的Iterable

关于java - 如何在Java中创建多个集合中所有元素的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24675766/

相关文章:

C# 工具栏图像集合编辑器

java - 为什么 Java 集合的删除方法不是通用的?

c# - 为整数键控模型集合寻找优雅/高效的解决方案

java - 获取 LinkedList 中 map 对象的索引

java - readLine()在聊天程序中引发异常,我不知道为什么

java - 如何在java中创建旋转按钮?

java - ViewPager Fragments 修改 UI

java - 有没有办法加载与 java_home/jre/lib/security 文件夹中指定的不同的 cacerts?

java - 从 Arrays.asList() 中排序列表也会更改原始数组吗?

java - 根据坐标打印星形图案