HashSet vs ArrayList contains性能比较
- 论坛
- HashSet vs ArrayList contains性能比较
12 浏览
HashSet vs ArrayList contains性能比较
在处理大量数据时,我经常发现自己会做以下操作:
HashSetset = new HashSet (); //将元素添加到集合中 ArrayList list = new ArrayList (set);
类似于将集合的内容“转储”到列表中。我通常这样做是因为我添加的元素经常包含我想要去除的重复项,这似乎是一种简单的去重方法。
但是,仅仅考虑到这个目标(避免重复项),我也可以这样写:
ArrayListlist = new ArrayList (); // 在这里进行处理 if (! list.contains(element)) list.add(element); // 在这里进行更多处理
这样就不需要将集合“转储”到列表中。然而,在插入每个元素之前,我会进行一次小的检查(我假设HashSet也会进行此检查)
这两种可能性中,哪一种更高效明显一些呢?