`
chennaid2
  • 浏览: 53238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • b_l_east: 在主动模式下,如果有多个客户端,服务器对每一个客户端均使用20 ...
    ftp

list 排重 三种方法

    博客分类:
  • Java
阅读更多

public static void main(String[] args) {
   String[] ar = { "dd", "c", "dd", "ff", "b", "e", "e" };
   ArrayList list = new ArrayList();
   for (int i = 0; i < ar.length; i++) {
    list.add(ar[i]);
   }
   System.out.println("运行前:");
   for (int i = 0; i < list.size(); i++) {
    System.out.print(list.get(i) + " ");

   }
   System.out.println();
   /*   第一种方法                   */
   /**
   * set方法去除list中重复的数据 set中插入重复的值只保留一个
   */
   HashSet h = new HashSet(list);
   list.clear();
   list.addAll(h);
   /* 第一种方法                   */
  
   /* 第二种方法                   */
   /**
   * 第二中方法去除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);
   /* 第二种方法                   */
  
  
   /* 第三种方法                        */
   /**
   * 普通的方法去除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("运行后:");
   for (int i = 0; i < list.size(); i++) {
    System.out.print(list.get(i) + " ");
   }
}

分享到:
评论

相关推荐

    二十三种设计模式【PDF版】

    23种设计模式汇集 如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例...

    NEC IP电话操作指南

    #### 三、电话重拨 电话重拨功能分为两种情况: 1. **最后一个电话重拨**:用户无需提起话柄,仅需按右下方圆盘功能键的左键,然后按下“#”键即可实现最近一次拨出电话号码的重拨。若提起话柄进行此操作,则电话将...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等概念。 2.2.1 ...

    华为java面试题

    - 序列化实现通常有两种方法:实现`Serializable`接口;自定义实现`readObject`和`writeObject`方法。 14. **COLLECTION框架中实现比较的接口** - 实现比较通常需要实现`Comparable`接口或`Comparator`接口。 15...

    java必备的经典面试题

    排序都有哪几种方法?请列举。用JAVA实现一个快速排序? - **常见的排序算法**:冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序等。 - **快速排序**:采用分治法策略,通过一趟排序将待排记录分隔成...

    C++ STL标准描述

    - **`v.erase(unique(v.begin(), v.end()), v.end())`**:对`vector`进行排重。 - **`v.erase(remove(v.begin(), v.end(), value), v.end())`**:删除`vector`中值为`value`的元素。 - **`sort(v.begin(), v.end())`...

    大学文献检索资料 DOC

    信息检索语言是用来描述文献特征和表达信息提问,沟通信息存储人员和信息检索者双方思想的一种人工语言。 信息检索语言的分类:按描述文献特征划分; • 描述文献外部特征的检索语言:书名、刊名、篇名等著者名。...

    数据结构与算法题解

    - 哈夫曼编码是一种用于数据压缩的有效编码方法,通过构建一个带权路径长度最小的二叉树来实现。 - 实例问题:给定一组字符及其出现频率,构造哈夫曼树并输出编码。 - **队列(Queue)** - 队列是一种先进先出...

    uboott移植实验手册及技术文档

    了解 U-Boot-1.3.1 的代码结构,掌握其移植方法。 【实验环境】 1、Ubuntu 7.0.4发行版 2、u-boot-1.3.1 3、FS2410平台 4、交叉编译器 arm-softfloat-linux-gnu-gcc-3.4.5 【实验步骤】 一、建立自己的平台...

    用c描述的数据结构演示软件

    此算法演示可求得所有可行结果,在求得每一种排布的结果之后,均会弹出一个窗口显示“找到第 j (j=1,2,…) 种排布”,单击“确定”按钮将继续进行,直至找到所有可能构成的排布。 6. 背包问题 右侧图示窗口的上方...

    数据结构演示软件

    此算法演示可求得所有可行结果,在求得每一种排布的结果之后,均会弹出一个窗口显示“找到第 j (j=1,2,…) 种排布”,单击“确定”按钮将继续进行,直至找到所有可能构成的排布。 6. 背包问题 右侧图示窗口的...

    oracle数据库经典题目

    三、简答题 1. 说明数据库模式与用户之间的区别。 答案: 数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。模式是一系列逻辑数据结构或对象的集合,是...

Global site tag (gtag.js) - Google Analytics