代码之家  ›  专栏  ›  技术社区  ›  Roman

如何在不修改旧数组或创建新数组的情况下向数组添加元素?

  •  2
  • Roman  · 技术社区  · 15 年前

    我有以下结构: for (String playerName: players) .

    我想做一个循环 players 再加上一个特别的球员。但我不想修改 球员 通过向其添加新元素来排列。那么,我能做什么?

    我能替换吗 球员 for(字符串playername:players) 包含所有元素的东西 球员 再加上一个元素?

    2 回复  |  直到 15 年前
        1
  •  8
  •   Bozho    15 年前

    在另一个方法中移动循环的内容,并在内部和外部调用它:

    for (String playerName : players) {
        handlePlayer(playerName);
    }
    handlePlayer(anotherPlayerName);
    
        2
  •  3
  •   Joachim Sauer    15 年前

    我同意,@bozhos的回答是最好的解决办法。

    但是如果你真的想使用一个循环,你可以使用 Iterables.concat() Google Collectons (连同 Collections.singleton() ):

    Iterable<String> allPlayersPlusOne=Iterables.concat(players,Collections.singleton(other));
    for (String player : allPlayersPlusOne) {
      //do stuff
    }