我有两个数组列表,一个用于团队,一个用于玩家。球员的阵列选手在球队课程中,我已经成功地获得了,所以每个球队都可以添加球员。Java Arraylist列出所有元素
但我想知道的是什么是迭代通过集合来显示所有玩家的最佳方式,无论他们与哪个团队关联呢?这甚至有可能吗?
我有两个数组列表,一个用于团队,一个用于玩家。球员的阵列选手在球队课程中,我已经成功地获得了,所以每个球队都可以添加球员。Java Arraylist列出所有元素
但我想知道的是什么是迭代通过集合来显示所有玩家的最佳方式,无论他们与哪个团队关联呢?这甚至有可能吗?
您将不得不创建另一个包含所有玩家参考的结构。例如,您可以为所有玩家设置另一个集合,并且只要确保在创建集合时添加新玩家到该集合。一个Set
有理想的语义,如不允许欺骗,所以这可能对你有意义。
或者只是环通所有的球队,循环直通所有玩家....
没有办法说环通所有的球员,无论他们在哪个集合,集合框架之内。
也许你应该使用Map<String,List<String>>
来代替,其中键是团队的名称,值是该团队中的球员列表。这样,您可以获得该地图的所有值(使用map.values()
),并遍历它们以获取所有玩家的列表,而不管团队。
您可以创建一个新的列表与所有玩家:
List<Player> allp = new ArrayList<Player>();
for(Team t : teams) allp.addAll(t.getPlayers());
A ['Set'](http://download.oracle.com/javase/6/docs /api/java/util/Set.html)似乎是“另一种结构”的好选择。 –
@ted,yep,正在编辑过程中) – hvgotcodes
感谢那么,如何循环所有的球队,然后球员?我假设某种嵌套循环来做到这一点? – mjsey