`
yhz61010
  • 浏览: 558070 次
  • 来自: -
博客专栏
63c13ecc-ef01-31cf-984e-de461c7dfde8
libgdx 游戏开发
浏览量:12176
社区版块
存档分类
最新评论

[原创] Java List/Array 去重

    博客分类:
  • Java
阅读更多
【说明】
  刚刚才发现有这么多的回复!没想到这篇文章会这么容易被吐槽!
  看了回复,我明白了有些人是想保持去重后的顺序。看来我当时写的时候真应该再多敲两个字,就不会被拍砖了!要保持顺序当然就不能这么写了,大家可以自己去 stackoverflow 搜下便知。
  现在特此说明下:
  我当时只是想把去重后的数据放到 SQL 的 in 里,所以顺序对我来说不重要。
  如果大家有更好的方法或心得,欢迎继续讨论啊!

十分常见的问题,但是今天我找到一个很简单的方法(不同于在网站搜索到的大多数解决方法哟!):
// ids is your String list.
List<String> ids = new ArrayList<String>();
// Assign values to ids.
// ...
Set<String> uniqueIdSet = new HashSet<String>();
uniqueIdSet.addAll(ids);
ids.clear();
ids.addAll(uniqueIdSet);
1
3
分享到:
评论
10 楼 lazy_ 2013-03-06  
1 TreeSet,谢谢
2 我看你的代码,用list存放数据简直是错误,一开始就应该用TreeSet.
9 楼 asialee 2013-03-06  
这个地方要用LinkedHashSet,之前有上游给我们提供的数据是乱序的,我估计就是这么搞的。
8 楼 shadowlin 2013-03-06  
eisenwolf 写道
这样原来的顺序就变成了Nature Order了,可能会有潜在的错误喔~

需要保持原来顺序的话就不能这么干了。。
7 楼 shadowlin 2013-03-06  
SonofGod 写道
shadowlin 写道
额。。我一直是这么干的

不要自视清高!搞得自己很牛B一样。



。。。老兄受啥刺激了么。。我只是单纯的说我一直这么做的。。因为这么做比较容易可以偷懒。。我之前以为只有我这么做,看到原来其他人也这么干就说了这么句而已。。
6 楼 eisenwolf 2013-03-06  
这样原来的顺序就变成了Nature Order了,可能会有潜在的错误喔~
5 楼 ilywmf 2013-03-06  
不知道这样之后原来的顺序是否已经改变?
4 楼 panjavay 2013-03-06  
我把一个list 放到一个TreeSet里头的~~然后就去重了,然后就不管了~~
3 楼 Leon.Wood 2013-03-06  
SonofGod 写道
shadowlin 写道
额。。我一直是这么干的

不要自视清高!搞得自己很牛B一样。

一个普通API有什么清高不清高的,不理解
2 楼 SonofGod 2013-03-06  
shadowlin 写道
额。。我一直是这么干的

不要自视清高!搞得自己很牛B一样。
1 楼 shadowlin 2013-03-06  
额。。我一直是这么干的

相关推荐

    Java数组去重 集合List去重的常用方法总结

    ### Java数组去重与List集合去重的常用方法总结 #### 一、Java数组去重方法 在实际的开发工作中,经常会遇到需要处理数组中重复元素的问题。下面将详细介绍两种常用的数组去重方法。 ##### 方法一:For双循环法 ...

    java 去除重复元素

    题目中提到了"java 数组的合并.zip",可能涉及到多个数组合并并去重的问题。可以使用ArrayList或其他集合类先分别添加各个数组,然后通过Set进行去重: ```java Integer[] array1 = {1, 2, 3}; Integer[] array2 = {...

    Java 在 Array 和 Set 之间进行转换的示例.rar

    - **去重**:Set常用于从Array中去除重复元素,特别是在处理大量数据时。 - **快速查找**:Set的实现(如HashSet)提供了O(1)的时间复杂度来检查元素是否存在,适合用于查找操作。 - **不可变性**:如果你需要...

    Javapython for leetcode 1 array2 list3 string4 hashtable5 m.zip

    标题 "Javapython for leetcode 1 array2 list3 string4 hashtable5 m.zip" 提供的信息表明,这个压缩包包含了一系列与LeetCode题目相关的Java和Python编程解决方案,重点涉及了数组、列表、字符串、哈希表(或字典...

    文本去重(去除数组中重复项)

    在Java中,文本去重可以通过多种方式实现,例如使用`Set`或`List`接口的实现类。`Set`通常提供更好的性能,因为它不需要额外检查是否已存在元素。而`List`虽然操作直观,但可能在处理大量数据时效率较低。具体选择哪...

    java开发集合例子

    String[] array = list.toArray(new String[0]); List&lt;String&gt; copyList = new ArrayList(list); ``` 此外,我们还会学习如何处理并发,如使用`ConcurrentHashMap`在多线程环境下安全地操作`Map`,以及`...

    Java模拟人工洗牌

    1. **数组(Array)与列表(List)** - **数组(Array)**:用于存储固定大小的同类型元素集合。数组是基于索引的结构,访问速度较快。 - **列表(List)**:是Java集合框架的一部分,能够动态地增加或减少元素数量。列表...

    JAVA竞赛编程题集锦

    【JAVA竞赛编程题集锦】是一份集合了JAVA编程竞赛中的题目和解决方案的资源,主要涵盖了基础到进阶的编程挑战。以下是对部分题目及其解题思路的详细说明: 1. **出现次数最多且数值最大的字符查找**: 这道题目...

    实现多个集合的交集,并集

    List&lt;Integer&gt; intersection = Stream.concat(array1.stream(), array2.stream()) .distinct() // 去除重复元素 .filter(array3::contains) // 过滤出存在于所有集合的元素 .collect(Collectors.toList()); // ...

    删除其重复

    Java集合框架是Java平台的一个重要组成部分,它为开发者提供了多种数据结构,如列表(List)、集(Set)、映射(Map)等,用于存储和操作对象集合。 - **List接口**:List 是有序的 Collection,允许重复元素。 - `...

    Java数组操作的10大方法

    使用`Arrays.asList()`将数组转换为List后,可以调用`contains()`方法来检查某个元素是否存在。 5. **连接两个数组** - 合并工具:`int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);` Apache ...

    华为OD机试C卷- 考古学家(Java & JS & Python).md-私信看全套OD代码及解析

    2. **去重处理**: 将所有碎片内容存入`HashSet`或`TreeSet`中,以去除重复内容。 3. **全排列算法**: 实现一个递归算法来生成所有可能的组合。使用递归来遍历所有可能的排列组合,并将结果存储在`List`中。 4. **...

    面试题 大参考 java

    - **Collection**:是Java集合框架的一部分,表示一种存储元素的容器类型,如 `List` 和 `Set`。 - **Collections**:是一个工具类,提供了一系列静态方法来操作集合,如排序、查找等。 #### 6. 断言 (assert) ...

    数据结构-集合(Set)介绍和Java示例代码

    在实际应用中,集合常用于去重场景,如收集用户的唯一ID,或者在数据库操作中去除重复的记录。此外,集合也是快速判断元素是否存在的理想工具,如检查一个字符串是否在已知的关键词列表中。 以下是一些常见集合操作...

    完整版清除数组重复成员.rar

    1. **Java中的数组去重** 在Java中,我们可以利用HashSet数据结构来实现数组去重。HashSet不包含重复元素,因此当我们把数组元素逐一添加到HashSet时,重复的元素会被自动忽略。以下是一个简单的示例: ```java ...

    字面相似度计算

    public static boolean contain(List&lt;String&gt; jizhunlist1, String[] sourceArray, String dest) { boolean returnFlag = false; // 如果dest不在jizhunlist1中,则添加dest并检查dest是否存在于sourceArray中 ...

    CommonFunc.java

    对于集合类(如List、Set、Map),`CommonFunc`可能包含检查其是否为空(`isNullOrEmpty(Collection&lt;?&gt; coll)`)、是否包含特定元素(`contains(Object[] array, Object element)`)或者对集合进行排序、去重的操作...

    Container

    #### 一、数组(Array) **数组定义**: 数组是一种基本的数据结构,用于存储相同类型的多个元素。数组是Java中最简单且高效的容器之一,能够提供快速的元素访问。 **特点**: - **访问速度快**: 允许随机访问元素。 -...

    华为OD机试C卷- 最大N个数与最小N个数的和(Java & JS & Python).md-私信看全套OD代码及解析

    2. **去重操作**:使用 Set 结构去除数组中的重复元素。 3. **寻找最大和最小 N 个数**:利用优先队列(最小堆和最大堆)来高效地找到最大和最小 N 个数。 4. **检查重叠**:确保最大N个数和最小N个数没有重叠,若有...

Global site tag (gtag.js) - Google Analytics