标签: java list
我有一个带有元素的ArrayList,例如:
[a,b,c,d,e,f,g,h];
并且需要获取元素[a,b,c]它也应该是一个ArrayList并将它们从第一个List中删除,然后我再拿一些元素从第一个列表中删除它们。
[a,b,c]
那么做这项工作的最佳方式(考虑一个时间)是什么? 我的意思是我应该迭代元素或应该转换为数组而不是使用它?
也许有一些快速的方法可以做到这一点?
感谢。
答案 0 :(得分:1)
使用subList()创建新列表以获取第一个视图,然后在subList上使用clear()。例如:
subList()
clear()
subList = originalList.subList(0, 3); newList = new ArrayList(subList); subList.clear();
这比迭代原始列表更有效,一次删除一个元素,因为从ArrayList中删除元素涉及移动所有元素。使用subList只需转换一次。
subList
答案 1 :(得分:0)
您可以使用sublist方法将此列表拆分为两个(对sublist进行两次调用)。
sublist