【发布时间】:2014-06-13 14:59:05
【问题描述】:
我有一个包含标签列表的评论列表。
我想遍历我的评论列表,如果一个评论有标签 DEPRECATE_OTHERS,我想添加一个标签 DEPRECATED 到所有其他 cmets。
到目前为止,我已经能够想出一个过于杂乱的解决方案,但我想知道是否有一些工具可以帮助我使其更清洁:
for (int i = 0; i < comments.size(); i++) {
Comment comment = comments.get(i);
for (Tag tag : comment.getTags()) {
if(MyEnum.DEPRECATE_OTHERS.equals(tag)) {
for(int j = 0; j < comments.size(); j++) {
if(j != i) {
comments.get(j).getTags().add(MyEnum.DEPRECATED)
}
}
}
}
}
OBS:我可能有多个 DEPRECATE_OTHERS,在这种情况下我想添加多个 DEPRECATED 标志
【问题讨论】:
-
我不确定我现在明白了。假设两个 cmets 有
DEPRECATE_OTHERS。所有其他 cmets 是否应该获得两个DEPRECATED标签,而这些标签各获得一个?还是应该有DEPRECATE_OTHERS的 cmets 永远不会有DEPRECATED标签? -
对于我找到的每个 DEPRECATE_OTHERS,我必须将 DEPRECATED 添加到所有其他标签。原因是我的 Tag 类型比我在练习中描述的更复杂。
-
如果两个 cmets (A, B) 有 DEPRECATE_OTHERS 他们是否有 DEPRECATED 标签? (因为 A DEPRECATE_OTHERS 使 B 弃用,对于 B 到 A 也是如此)
-
听起来我的回答可能会奏效。
-
是的,马可,你是对的。
标签: java collections