提高ArrayList Java 8上的keepAll性能

时间:2019-04-02 06:59:43

标签: java performance

我有以下两个数据结构(List<ArrayList<String>>

parentList: [[1, 11], [2, 11], [3, 11], [4, 11]]
childList: [[2, 11], [1, 11], [56], [4, 11], [3, 11], [5, 11], [6], [6]]

我希望childList保留仅在parentList中存在的所有元素,以保持插入顺序。即:

childList: [[2, 11], [1, 11], [4, 11], [3, 11]]

parentList的大小约为500,而childList的大小约为50K。 我尝试过:

childList.retainAll(parentList);

随着childList的大小增加,retainAll花费的时间也急剧增加。

LinkedHashSet相比,使用List可以提高性能,但达不到预期的效果。 除了retainAll之外,还有其他任何方法可以满足要求吗?或者有没有办法优化相同的操作?

0 个答案:

没有答案