【发布时间】:2014-10-31 06:28:52
【问题描述】:
我在 Java 中有一个列表,但有一个条件:如果列表大小超过 10,那么我会在不迭代的情况下删除多余的内容,
例如:如果列表包含{1,2,3,4,5,6,7,8,9,10,11,12,13,14},那么结果应该是
{5,6,7,8,9,10,11,12,13,14}
另外,请注意我使用的 Java 版本是 Java 6。
我已尝试使用 subList,但即使此操作在内部进行迭代,也会导致性能问题。
public List<E> subList(int fromIndex,
int toIndex)
【问题讨论】:
-
如果不迭代列表,您将无法做到这一点。你无法避免它,甚至无法避免
List类实现方法内部的内部迭代。 -
“我已经尝试过使用 subList,但即使这个操作在内部进行迭代,也会导致性能问题。” - 您遇到什么性能问题?你做过一些测试,你能提供结果吗?另外,您是否针对备用列表进行了一些测试?总体来说你是怎么做测试的?
-
@buhake 我正在处理一个非常大的列表,我的客户对花费的时间不满意,所以只需要找出是否有任何解决方法。
-
您打算通过内置列表来实现这一目标吗?或者你可以实现自己的风格?