Was ist der einfachste, standardmäßigste und/oder effizienteste Weg, eine Liste in zwei Unterlisten in Java aufzuteilen? Es ist in Ordnung, die ursprüngliche Liste zu mutieren, also sollte kein Kopieren notwendig sein. Die Signatur der Methode könnte lauten
/** Split a list into two sublists. The original list will be modified to
* have size i and will contain exactly the same elements at indices 0
* through i-1 as it had originally; the returned list will have size
* len-i (where len is the size of the original list before the call)
* and will have the same elements at indices 0 through len-(i+1) as
* the original list had at indices i through len-1.
*/
<T> List<T> split(List<T> list, int i);
[EDIT] List.subList
gibt eine Sicht auf die ursprüngliche Liste zurück, die ungültig wird, wenn das Original geändert wird. Also split
nicht verwenden können subList
es sei denn, sie verzichtet auch auf den ursprünglichen Verweis (oder verwendet, wie in Marc Novakowskis Antwort, die subList
sondern kopiert das Ergebnis sofort).