我需要将ArrayList< String >
分发到另外两个ArrayList< String >
所以基本上我有一个名为ArrayList
的{{1}}
的ArrayList&LT;字符串&gt; players = new ArrayList&lt;&gt;();
然后我还有另外两个players
名为ArrayList
和teamBlue
的ArrayList&LT;字符串&gt; teamBlue = new ArrayList&lt;&gt;();
的ArrayList&LT;字符串&gt; teamRed = new ArrayList&lt;&gt;();
基本上我需要以某种方式能够通过teamRed
列表并均匀地分发内容(有时候players
不会是偶数,但没关系也没关系100%均匀分配)
感谢您给我的任何帮助,谢谢!
答案 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);