我有以下结构:for (String playerName: players)
。
我想对所有players
以及另外一个特殊玩家进行循环。但我不想通过向其添加新元素来修改players
数组。那么,我该怎么办?
我可以将players
中的for (String playerName: players)
替换为包含players
的所有元素以及另外一个元素的内容吗?
答案 0 :(得分:8)
以另一种方法移动循环的内容,并在内部和外部调用它:
for (String playerName : players) {
handlePlayer(playerName);
}
handlePlayer(anotherPlayerName);
答案 1 :(得分:3)
我同意@Bozhos答案是最佳解决方案。
但如果您绝对想要使用单个循环,则可以使用Iterables.concat()
中的Google Collectons(以及Collections.singleton()
):
Iterable<String> allPlayersPlusOne=Iterables.concat(players,Collections.singleton(other));
for (String player : allPlayersPlusOne) {
//do stuff
}