0

我有一个带有元素的 ArrayList,例如:

[a,b,c,d,e,f,g,h];

并且需要获取元素[a,b,c],它应该是一个 ArrayList 并从第一个列表中删除它们,并且在我删除它们之后我再次从第一个列表中获取一些元素。

那么完成这项工作的最佳方式(考虑时间)是什么?我的意思是我应该迭代元素还是应该转换为数组而不是使用它?

也许有一些快速的方法可以做到这一点?

谢谢。

4

2 回答 2

1

创建一个新列表,subList()用于获取第一个视图,然后clear()在 subList 上使用。例子:

subList = originalList.subList(0, 3);
newList = new ArrayList(subList);
subList.clear();

这比遍历原始列表一次删除一个元素要有效得多,因为从 ArrayList 中删除一个元素涉及移动所有元素。使用 asubList只转换一次。

于 2012-04-19T18:30:13.273 回答
0

您可以使用该sublist方法将此列表一分为二(对 进行两次调用sublist)。

于 2012-04-19T18:31:11.930 回答