当做类似的事情时
// creating list1, adding items
LinkedList slist = new LinkedList();
slist = subList(list1, 2,5);
我将有第二个对象(“列表”的元素2到5的“副本”),由subList返回并包含在slist中。
但是,出于性能/内存的原因,我想拥有一些仅能给我list1的“ View ”,而无需创建新对象且无需分配新内存的东西。
最佳答案
我认为List#subList确实可以满足您的要求:
List slist = list1.subList(2, 5);
当然,需要创建一个新的(包装器)对象,但是列表的数据结构以及所有元素都将被重用。包装器仅跟踪开始和结束指针。