Ami*_*hum 3 java collections iterator
我在Java中有两个数据结构:
一个叫做DebateAssignment,有5个DebateTeam对象,每个对象都包含一个包含的特定枚举
{JUDGE, PROP1, PROP2, OP1, OP2}
Run Code Online (Sandbox Code Playgroud)
在另一类我使用List<DebateAssignment>,我想创建一个迭代器,它指向一个特定的DebateTeam特定DebateAssignment,我希望它所有的球队在所有任务迭代,从分配要分配的无缝连接.
我该怎么做呢?
一种方法,使用google-collections/guava:
return Iterables.concat(Iterables.transform(assignments,
new Function<DebateAssigment, Collection<DebateTeam>>() {
public Collection<DebateTeam> apply(DebateAssignment assignment) {
return assignment.getDebateTeams();
}
}));
Run Code Online (Sandbox Code Playgroud)
另一种方法是将数据存储为a Multimap<DebateAssignment, DebateTeam>,然后简单地遍历values()或entries()视图.该数据结构不会对JUDGE/PROP1 /等进行建模.但是,协会.
| 归档时间: |
|
| 查看次数: |
2583 次 |
| 最近记录: |