Java:将列表拆分为两个子列表?
在Java中将列表拆分为两个子列表的最简单,最标准和/或最有效的方法是什么?可以改变原始列表,因此不需要复制。方法签名可以是
/** 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] 返回原始列表上的视图,如果修改原始列表,该视图将变为无效。因此,除非它也省略了原始引用(或者,如Marc Novakowski的答案,使用但立即复制结果),否则不能使用。List.subList
split
subList
subList