HashSet vs ArrayList contains性能比较

12 浏览
0 Comments

HashSet vs ArrayList contains性能比较

在处理大量数据时,我经常发现自己会做以下操作:

HashSet set = new HashSet ();
//将元素添加到集合中
ArrayList list = new ArrayList (set);

类似于将集合的内容“转储”到列表中。我通常这样做是因为我添加的元素经常包含我想要去除的重复项,这似乎是一种简单的去重方法。

但是,仅仅考虑到这个目标(避免重复项),我也可以这样写:

ArrayList list = new ArrayList ();
// 在这里进行处理
if (! list.contains(element)) list.add(element);
// 在这里进行更多处理

这样就不需要将集合“转储”到列表中。然而,在插入每个元素之前,我会进行一次小的检查(我假设HashSet也会进行此检查)

这两种可能性中,哪一种更高效明显一些呢?

0