• 如何去除List中的重复值?


    今天碰到一个问题,已经有一个List<string>,里面有重复值,希望将重复值去掉,同时不能破坏现有的顺序。

     

    感谢 http://bbs.csdn.net/topics/390247210。

     

    供自己参考:

     

    1、通过循环进行删除

     

     

    复制代码

    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);

    }

     

    复制代码

     

    2、通过HashSet删除

     

    public static void removeDuplicate(List list) {

    HashSet h = new HashSet(list);

    list.clear();

    list.addAll(h);

    System.out.println(list);

    }

     

    3、删除重复元素,并保持顺序。(我没试)

     

     

    复制代码

    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);

    }

     

    复制代码

     

    4、定义一个方法,调用即可。

     

     

    复制代码

    publi List<String> getNewList(List<String> li){

    List<String> list = new ArrayList<String>();

    for(int i=0; i<li.size(); i++){

    String str = li.get(i); //获取传入集合对象的每一个元素

    if(!list.contains(str)){ //查看新集合中是否有指定的元素,如果没有则加入

    list.add(str);

    }

    }

    return list; //返回集合

    }

     

    public class Test{

    public static void main(String[] args){

    ArrayList<String> arr = new ArrayList<String>();

    arr.add("aaa");

    arr.add("bbb");

    arr.add("aaa");

    arr.add("ccc");

    arr = getNewList(arr); //方法去重

    System.out.println(arr);

    }

    }

  • 相关阅读:
    >>> fout = open('output.txt', 'w') Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: 'output.txt'
    Python元组术语
    Python元组与列表_元组与字典
    Python元组_参数长度可变
    Python元组_赋值与返回值
    Python元组_不可修改
    第二篇-bmob云端服务器的发现
    第一篇-关于语言与计划
    《JavaScript》JS中的常用方法attr(),splice()
    Java接口interface,匿名内部类
  • 原文地址:https://www.cnblogs.com/qq260250932/p/5365035.html
Copyright © 2020-2023  润新知