zoukankan      html  css  js  c++  java
  • list 去掉重复的值

    去除List列表中重复值(3种解决方法)
    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) + " ");
    }
    }

  • 相关阅读:
    1028 人口普查 (20分)
    1027 打印沙漏 (20分)
    1026 程序运行时间 (15分)
    1025 反转链表 (25分)
    1024 科学计数法 (20分)
    1023 组个最小数 (20分)
    1022 D进制的A+B (20分)
    1021 个位数统计 (15分)
    1020 月饼 (25分)
    1019 数字黑洞 (20分)
  • 原文地址:https://www.cnblogs.com/Struts-pring/p/3937786.html
Copyright © 2011-2022 走看看