2011-11-22 99 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());