从列表中删除前“n”个元素而不进行迭代
我需要一种有效的方法来从列表中删除项目。如果发生某些情况,我需要从列表中删除前“n”个元素。有人能提出最好的方法来做到这一点吗?请记住:性能对我来说是一个因素,所以我需要一种比坐姿更快的方法。谢谢。
我正在考虑一种方法,通过这种方法,可以将第n个项目作为列表的开头,以便0-n个项目将被垃圾收集。可能吗?
我需要一种有效的方法来从列表中删除项目。如果发生某些情况,我需要从列表中删除前“n”个元素。有人能提出最好的方法来做到这一点吗?请记住:性能对我来说是一个因素,所以我需要一种比坐姿更快的方法。谢谢。
我正在考虑一种方法,通过这种方法,可以将第n个项目作为列表的开头,以便0-n个项目将被垃圾收集。可能吗?
创建子列表()
返回此列表中介于 fromIndex(非独占)和 toIndex(独占)之间的部分的视图。(如果 fromIndex 和 toIndex 相等,则返回的列表为空。返回的列表由此列表支持,因此返回列表中的更改将反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可选列表操作。
检查此方法的实现并进行一些测试以确定性能
Jigar Joshi的答案已经包含了您需要的解决方案。我想添加一些其他的东西。我猜,调用子列表将处理您的工作。但它可能在后台使用迭代,我不确定。供你使用的示例脚本:clear()
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> subList = (ArrayList<Integer>) list.subList(0, 9);
subList.clear();