- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个抽象类“实体”和实现不同接口(interface)的对象(扩展“实体”)。我还有一个包含所有这些不同对象的 ArrayList。
现在,如果我需要访问实现某个接口(interface)的所有实体(以使用其方法),我使用以下方法(它返回实现接口(interface)“IDirectFire”的“实体”的过滤列表):
public ArrayList<IDirectFire> getDirectFireSublist() {//direct fire sublist
ArrayList<IDirectFire> sublist = new ArrayList();
entities.stream().filter((it) -> (it instanceof IDirectFire)).forEach((it) -> {
sublist.add((IDirectFire) it);
});
return sublist;
}
现在回答我的问题:我应该进一步使用此方法,还是应该创建一个除“实体”之外存在的新 ArrayList,并且每次“实体”更改时都需要手动更新?
我需要经常更新“实体”,所以我不确定存储多个子列表并在每次“实体”更改时更新它们是否更有效,或者我是否应该继续使用方法来过滤“实体”并应用这些子列表的方法。请记住,这些子列表也可以在其他方法的循环中使用,例如:
private void resetFirestatusIDF() {//reset firestatus (IDirectFire)
getDirectFireSublist().stream().forEach((it) -> {
it.dfHasFired(false);
});}
这可行吗?提前致谢!
最佳答案
Now to my question: Should I further work with this method or should I create a new ArrayList that exists besides 'entities' and that I would need to manually update every time 'entities' changes?
您出于什么原因想要复制“entites”数据?
1) 您只能将它们放在专用列表中。在这种情况下,您不再需要 getDirectFireSublist()。
2) 您可以在两个列表之间共享它们,而无需重复它们。在这种情况下,您必须更新添加和删除的实体元素,因为只有修改的元素才会更新。但实现起来相当简单。
关于java - 多个列表或列表和 getSublist() (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38421348/
我有一个抽象类“实体”和实现不同接口(interface)的对象(扩展“实体”)。我还有一个包含所有这些不同对象的 ArrayList。 现在,如果我需要访问实现某个接口(interface)的所有实
我是一名优秀的程序员,十分优秀!