`
Franciswmf
  • 浏览: 797007 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

删除ArrayList中重复元素

 
阅读更多

方法一:循环元素删除 (使用的方式FOR循环操作。不建议使用大数据量的转换。。n*n的循环量)
//  删除ArrayList中重复元素
public   static   void  removeDuplicate(List list)   {
   for  ( int  i  =   0 ; i  <  list.size()  -   1 ; i ++ )   {
    for  ( int  j  =  list.size()  -   1 ; j  >  i; j -- )   {
      if  (list.get(j).equals(list.get(i)))   {
        list.remove(j);
      }
    }
  }
  System.out.println(list);
}

方法二:通过HashSet剔除 (hash数组不能产生重复数据的特性,来转换LIST)
//  删除ArrayList中重复元素
    HashSet hSet  =   new  HashSet(list);
    list.clear();
    list.addAll(hSet);
    System.out.println(list);


方法三: 删除ArrayList中重复元素,保持顺序
// 删除ArrayList中重复元素,保持顺序
public   static   void  removeDuplicateWithOrder(List list)   {
      Set set  =   new  HashSet();
      List newList  =   new  ArrayList();
   for  (Iterator iter  =  list.iterator(); iter.hasNext();)   {
         Object element  =  iter.next();
         if  (set.add(element))
            newList.add(element);
     }
     list.clear();
     list.addAll(newList);
     System.out.println( " remove duplicate "   +  list);
}
________________________________________________
// 项目实践:删除ArrayList中重复元素,保持顺序
public   List  removeDuplicateWithOrder(List list)   {
for (int i = 0; i < list.size(); i++) {
System.out.println("剔除前:"+list.get(i));
}
      Set set  =   new  HashSet();
      List newList  =   new  ArrayList();
   for  (Iterator iter  =  list.iterator(); iter.hasNext();)   {
         Object element  =  iter.next();
         if  (set.add(element))
            newList.add(element);
     }
     list.clear();
     list.addAll(newList);
     for (int i = 0; i < list.size(); i++) {
System.out.println("剔除后:"+list.get(i));
}
     return list;
    
}

分享到:
评论

相关推荐

    删除List中的重复值

    // 删除ArrayList中重复元素 public static void removeDuplicate(List list) { for ( int i = 0 ; i () - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j &gt; i; j -- ) { if (list.get(j).equals(list.get(i...

    删除定制整型数组中重复元素输出剩余元素

    在Java编程中,处理整型数组并删除其中的重复元素是一项常见的任务。这通常涉及到集合类的使用,比如HashSet或ArrayList,以及基本的数组操作。本文将深入探讨如何实现这个功能,同时提供一种可能的解决方案。 首先...

    2种Java删除ArrayList中的重复元素的方法

    总结来说,Java中删除`ArrayList`中的重复元素主要有两种方式:通过`HashSet`和`LinkedHashSet`。`HashSet`适用于不关心元素顺序的情况,而`LinkedHashSet`则适用于需要保持元素插入顺序的场景。这两种数据结构都是...

    java过滤数组中重复元素,完整demo

    在这个主题中,我们将深入探讨如何使用ArrayList来过滤数组中的重复元素,并通过一个完整的Demo来演示这一过程。ArrayList是Java集合框架中的一种动态数组,它可以方便地添加、删除和修改元素。 首先,让我们了解...

    java 去除重复元素

    在Java编程中,处理数据集合时,我们常常会遇到去除重复元素的需求。这可能是为了保持数据的唯一性,或者为了优化存储和计算效率。本文将详细介绍如何在Java中去除重复元素,主要关注数组和列表这两种常见数据结构。...

    顺序表删除重复元素java.docx

    在这个场景中,我们讨论的是使用ArrayList实现顺序表,并探讨如何删除其中的重复元素。ArrayList是Java集合框架中的一种动态数组,允许在任何位置插入和删除元素,具有较高的灵活性。 以下是对给定代码的详细解释:...

    深入Java集合学习系列(三):ArrayList实现原理

    它允许包含重复的元素,也允许插入null值,这是区别于Java集合中的另一个List接口实现类LinkedList的重要特点。ArrayList内部通过一个数组来保存其所有元素,这个数组就是ArrayList的“elementData”字段。 ...

    Java基础-ArrayList方法全解(上).pdf

    在Java中,ArrayList实现了List接口,因此它支持有序的元素序列,并且允许有重复元素。本文将深入解析ArrayList的主要方法,帮助你更好地理解和运用这些方法。 1. 构造方法 - ArrayList(): 这是最基本的构造器,...

    在list集合中输入元素,去除重复的元素并输出

    根据给定文件的信息,本文将详细介绍如何在Java的List集合中去除重复元素的三种方法:使用for循环、使用迭代器以及利用HashSet的特性。 ### 一、使用for循环去除重复元素 这种方法的基本思想是通过双重循环来遍历...

    java中容器类ArrayList(底层数组实现)和数组存取效率简单测试

    总之,ArrayList作为Java中的重要容器类,具有灵活的容量调整和高效的读取特性,但在插入和删除操作上需要注意其性能影响。理解ArrayList的工作原理和性能特征,有助于编写出更加高效和稳定的代码。

    Java中ArrayList的使用方法简单介绍

    总结来说,Java中ArrayList的去重可以通过HashSet转换实现,或者使用循环比较并移除重复元素的方式。在实际应用中,根据具体的需求(如是否保持原有顺序、性能要求等)选择合适的方法。同时,理解不同数据结构如...

    ArrayList上机练习1

    这可以通过调用`addAll`并将结果存储在一个新的`ArrayList`中实现,然后使用`HashSet`来去除重复项,因为`HashSet`不允许重复元素。 - 使用`Collections.sort()`方法,对合并后的列表按`stu_no`、`name`和`age`字段...

    Java ArrayList实现的快排,归并排序,堆排序

    ArrayList作为Java集合框架中的一员,它提供了丰富的操作接口,包括对元素的添加、删除、修改以及排序等。本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort...

    ArrayList源码分析

    由于其灵活的特性(比如可以方便地增加或删除元素),`ArrayList` 成为了开发中最常用的集合类型之一。 #### 二、底层实现的核心技术 ##### 1. 数组底层结构 `ArrayList` 底层使用数组来存储数据,数组的名字叫做...

    Java 实例 - 删除集合中指定元素源代码+详细指导教程.zip

    而HashSet和HashMap则适用于快速查找和不允许重复元素的场景。 为了更好地理解和应用这些知识,你可以下载提供的"Java 实例 - 删除集合中指定元素源代码+详细指导教程.rar"文件,里面包含了示例代码和详细的解释,...

    flash cs6中导入外部的swc文件,as3的使用的ArrayList,Set,Hashmap等工具包

    - **Set**:Set 类似于集合,不存储重复元素,没有顺序,但可以进行快速的成员测试。你可以通过`add()`, `contains()`, `remove()`等方法操作Set。 - **HashMap**:HashMap 提供了键值对的存储,其中键必须是唯一的...

    Java基础加强_ArrayList_HashSet的比较及Hashcode分析

    它不允许有重复元素,通过重写对象的equals()和hashCode()方法来确定元素是否相等和在哈希表中的位置。HashSet在插入新元素时会计算其Hashcode,根据Hashcode将元素放入哈希表的特定位置,以达到快速查找的目的。当...

    比较Vector、ArrayList和hashtable hashmap

    - ArrayList 和 LinkedList 的共同特点是它们都属于 Collection 的子接口 List,允许有重复元素,并且是有序的。 - HashMap 和 Hashtable 都实现了 Map 接口,HashMap 更快但不是线程安全的,而 Hashtable 是线程...

    经典讲解List和ArrayList和Vector和HashTable和HashMap区别

    - **元素唯一性**:`List`中的元素默认不允许重复,而`Map`的键是唯一的,但键对应的值可以重复。 在选择使用哪种数据结构时,应考虑具体的需求,比如是否需要线程安全、数据访问模式、效率要求以及元素的唯一性等...

Global site tag (gtag.js) - Google Analytics