我真的需要自己实现吗?
private void shrinkListTo(ArrayList<Result> list, int newSize) {
for (int i = list.size() - 1; i >= newSize; --i)
list.remove(i);
}
最佳答案
使用要删除的元素范围创建一个sublist,然后在返回的列表中调用 clear
。
list.subList(23, 45).clear()
该方法在List和ArrayList的文档中都作为习惯用法提到。
这是一个经过完全单元测试的代码示例!
// limit yourHappyList to ten items
int k = yourHappyList.size();
if ( k > 10 )
yourHappyList.subList(10, k).clear();
// sic k, not k-1