2011-11-22 101 views
0

我有两个数组列表,一个用于团队,一个用于玩家。球员的阵列选手在球队课程中,我已经成功地获得了,所以每个球队都可以添加球员。Java Arraylist列出所有元素

但我想知道的是什么是迭代通过集合来显示所有玩家的最佳方式,无论他们与哪个团队关联呢?这甚至有可能吗?

回答

0

您将不得不创建另一个包含所有玩家参考的结构。例如,您可以为所有玩家设置另一个集合,并且只要确保在创建集合时添加新玩家到该集合。一个Set有理想的语义,如不允许欺骗,所以这可能对你有意义。

或者只是环通所有的球队,循环直通所有玩家....

没有办法说环通所有的球员,无论他们在哪个集合,集合框架之内。

+0

A ['Set'](http://download.oracle.com/javase/6/docs /api/java/util/Set.html)似乎是“另一种结构”的好选择。 –

+0

@ted,yep,正在编辑过程中) – hvgotcodes

+0

感谢那么,如何循环所有的球队,然后球员?我假设某种嵌套循环来做到这一点? – mjsey

0

也许你应该使用Map<String,List<String>>来代替,其中键是团队的名称,值是该团队中的球员列表。这样,您可以获得该地图的所有值(使用map.values()),并遍历它们以获取所有玩家的列表,而不管团队。

1

您可以创建一个新的列表与所有玩家:

List<Player> allp = new ArrayList<Player>();

for(Team t : teams) allp.addAll(t.getPlayers());