如何向其他2位Arraylists分发Arraylist?

时间:2014-10-29 21:29:46

标签: java arraylist

我需要将ArrayList< String >分发到另外两个ArrayList< String >

所以基本上我有一个名为ArrayList的{​​{1}}

  
    

的ArrayList&LT;字符串&gt; players = new ArrayList&lt;&gt;();

  

然后我还有另外两个players名为ArrayListteamBlue

  
    

的ArrayList&LT;字符串&gt; teamBlue = new ArrayList&lt;&gt;();

         

的ArrayList&LT;字符串&gt; teamRed = new ArrayList&lt;&gt;();

  

基本上我需要以某种方式能够通过teamRed列表并均匀地分发内容(有时候players不会是偶数,但没关系也没关系100%均匀分配)

感谢您给我的任何帮助,谢谢!

2 个答案:

答案 0 :(得分:1)

你可以使用带有计数器的foreach。当计数器是偶数时,将相应的String添加到ArrayList,当它没有将它添加到另一个时。

int counter = 0;
for(String s : players){
    //check the value of the counter and add the String to the corresponding list
    //increment the counter
}

您还可以使用传统的for循环(使用get上的ArrayList索引),但我更喜欢foreach,因为它在幕后使用Iterator,所以你不要#39; t取决于当前List实施(并且可以提高效果,例如O(n²)代替LinkedList而不是O(n) < / p>

答案 1 :(得分:1)

将列表切成两半,正好在中间。无需遍历列表。

int length = players.size();
List<String> teamBlue = players.subList(0, length / 2);
List<String> teamRed = players.subList(length / 2, length);