Java: Eine Liste in zwei Unterlisten aufteilen?

Was ist die einfachste, standardmässigste und / oder effizienteste Möglichkeit, eine Liste in Java in zwei Unterlisten aufzuteilen? Es ist in Ordnung, die ursprüngliche Liste zu mutieren, daher sollte kein Kopieren erforderlich sein. Die Methodensignatur könnte @ se

/** 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 Ansicht in der Originalliste zurück, die ungültig wird, wenn das Original geändert wird. Sosplit kann @ nicht verwendsubList es sei denn, es verzichtet auch auf die ursprüngliche Referenz (oder verwendet, wie in Marc Novakowskis Antwort,subList kopiert aber sofort das Ergebnis).

Antworten auf die Frage(26)

Ihre Antwort auf die Frage