这是一个由两部分组成的问题:
首先,我很想知道从集合中删除重复元素的最佳方法是什么.到目前为止我一直在做的方法是简单地将集合转换为集合.我知道套装不能有重复元素所以它只是为我处理它.
这是一个有效的解决方案?循环和删除重复会更好/更惯用/更快吗?有关系吗?
我的第二个(相关)问题是:将数组转换为Set的最佳方法是什么?假设一个数组arr我一直这样做的方法如下:
Set x = new HashSet(Arrays.asList(arr));
这会将数组转换为列表,然后转换为集合.似乎有点迂回.与双转换方式相比,是否有更好/更惯用/更有效的方法?
谢谢!
您是否有关于该集合的任何信息,例如它已经排序,或者它主要包含重复项或大多数独特项目?只有一个任意的集合,我认为将其转换为a Set是好的.
Arrays.asList()没有创建一个全新的列表.它实际上只返回一个List使用数组作为其后备存储的东西,因此它是一个廉价的操作.所以你Set从数组中制作一个数组的方式也是如此.
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |