精华内容
下载资源
问答
  • Java List去除重复数据的五种方式

    千次阅读 2021-01-17 00:18:15
    1.使用LinkedHashSet删除ArrayList中的重复数据 /** * 1.使用LinkedHashSet删除ArrayList中的重复数据 */ public static void fun1() { // 初始化数据 List<Integer> list = new ArrayList<>...

    目录

    1、使用LinkedHashSet删除ArrayList中的重复数据

    2、使用JAVA8新特性stream进行List去重 

    3、利用HashSet不能添加重复数据的特性 

    4、利用List的contains方法

    5、利用双重for循环去重


    1、使用LinkedHashSet删除ArrayList中的重复数据

    	/**
    	 * 1.使用LinkedHashSet删除ArrayList中的重复数据
    	 */
    	public static void fun1() {
    		// 初始化数据
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
    		HashSet<Integer> hashSet = new LinkedHashSet<Integer>(list);
    		// 输出结果
    		ArrayList<Integer> result = new ArrayList<>(hashSet);
    		System.out.println(result);
    	}
    

    输出结果:

    [1, 2, 3, 4, 5, 6, 7, 8]

    2、使用JAVA8新特性stream进行List去重 

    	/**
    	 * 2.使用JAVA8新特性stream进行List去重 
    	 */
    	public static void fun2() {
    		// 初始化数据
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
    		// 输出结果
    		List<Integer> result = list.stream().distinct().collect(Collectors.toList());
    		System.out.println(result);
    	}

    输出结果: 

    [1, 2, 3, 4, 5, 6, 7, 8]

    3、利用HashSet不能添加重复数据的特性 

    	/**
    	 * 3.利用HashSet不能添加重复数据的特性
    	 */
    	public static void fun3() {
    		// 初始化数据
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
    		HashSet<Integer> set = new HashSet<Integer>(list.size());
    		// 输出结果
    		List<Integer> result = new ArrayList<Integer>(list.size());
    		for (Integer str : list) {
    			if (set.add(str)) {
    				result.add(str);
    			}
    		}
    		list.clear();
    		list.addAll(result);
    		System.out.println(result);
    	}

    输出结果: 

    [1, 2, 3, 4, 5, 6, 7, 8]

    4、利用List的contains方法

    /**
    	 * 4.利用List的contains方法
    	 */
    	public static void fun4() {
    		// 初始化数据
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
    		// 输出结果
    		List<Integer> result = new ArrayList<>(list.size());
    		for (Integer str : list) {
    			if (!result.contains(str)) {
    				result.add(str);
    			}
    		}
    		list.clear();
    		list.addAll(result);
    		System.out.println(result);
    	}

    输出结果: 

    [1, 2, 3, 4, 5, 6, 7, 8]

    5、利用双重for循环去重

    /**
    	 * 5.利用双重for循环去重
    	 */
    	public static void fun5() {
    		// 初始化数据
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
    		for (int i = 0; i < list.size(); i++) {
    			for (int j = i + 1; j < list.size(); j++) {
    				if (list.get(i) == list.get(j)) {
    					list.remove(j);
    					j--;
    				}
    			}
    		}
    		// 输出结果
    		System.out.println(list);
    	}

     

    展开全文
  • QStringList去除重复

    千次阅读 2020-04-27 09:53:04
    QStringList list; list.append(“1”); list.append(“2”); list.append(“1”); list = list.toSet().toList();
    QStringList list;
    list.append(“1”);
    list.append(“2”);
    list.append(“1”);
    list = list.toSet().toList();

     

    展开全文
  • 在C#中如何List去除重复元素?

    千次阅读 2020-02-11 11:03:51
    List中有两个一样的元素,想把两个都去除,用remove和removeall都不行,list中是对象,distinct好像也不太好使,还请各位帮忙解答一下。 代码片段如下: classEdge { publicPointFstart; publicPointFend; } private...

    List中有两个一样的元素,想把两个都去除,用remove和removeall都不行,list中是对象,distinct好像也不太好使,还请各位帮忙解答一下。
    代码片段如下:
        class Edge
        {
            public PointF start;
            public PointF end;
        }

        private List<Edge> edges = new List<Edge>();

    经过计算后edges中有一些edge对象,有些对象是相同的线段,但是首尾可能相反,如何判断是相同的线段,并且将两个相同的都删除?

    下面这种试下


    List<User> nonDuplicateList1 = users.Distinct().ToList();//通过User类的Equals实现去重

    class User:IEquatable<User>//继承IEquatable接口,实现Equals方法。List就可以使用Distinct去重 

        public string name { get; set; } 
        string address; 

        public User(string _name, string _address) 
        { 
            name = _name; 
            address = _address; 
        } 

        public override string ToString() 
        { 
            return string.Format("name:{0},\taddress:{1}", name, address); 
        } 

        public bool Equals(User other) 
        { 
            return this.name == other.name; 
        } 
        public override int GetHashCode() 
        { 
            return name.GetHashCode(); 
        } 
    }
    1.用GroupBy分组取第一条,实现去重,edges = edges.GroupBy(****).Select(x => x.First()).ToLust()
    2.括号里是分组条件,这是一个对象分组new { a = x.start, b = x.end  },用三元表达式解决你说的头尾
    小蜜蜂论坛回帖机倒装的情形


    /// <summary>
        /// 可枚举类型扩展;
        /// </summary>
        public static class EnumerableExtensions
        {
            /// <summary>
            /// 按指定字段排除重复项;
            /// https://www.cnblogs.com/niuzaihenmang/p/5620915.html
            /// 示例:peopleList.DistinctBy(i => new { i.UserName }).ToList();
            /// </summary>
            /// <typeparam name="TSource"></typeparam>
            /// <typeparam name="Tkey"></typeparam>
            /// <param name="source"></param>
            /// <param name="keySelector"></param>
            /// <returns></returns>
            public static IEnumerable<TSource> DistinctBy<TSource, Tkey>(this IEnumerable<TSource> source, Func<TSource, Tkey> keySelector)
            {
                HashSet<Tkey> hashSet = new HashSet<Tkey>();
                foreach (TSource item in source)
                {
                    if (hashSet.Add(keySelector(item)))
                    {
                        yield return item;
                    }
                }
            }
        }

     

    展开全文
  • js list去重复

    千次阅读 2019-06-01 17:50:00
    //需要去重复的集合 var res = [];//去重复后的集合 var tem = {};  for(var i = 0; i < dataList.length; i++){ if(!json[dataList[i]]){ res.push(dataList[i]); tem[dataList[i]] = 1; ...

    var dataList = [];//需要去重复的集合 var res = [];//去重复后的集合 var tem = {};   for(var i = 0; i < dataList.length; i++){ if(!json[dataList[i]]){ res.push(dataList[i]); tem[dataList[i]] = 1; } }

      

    转载于:https://www.cnblogs.com/ywx2/p/10960390.html

    展开全文
  • java8 list 去重复记录

    千次阅读 2019-09-21 10:01:21
    static class Class1{ public String staffId; public String getStaffId() { return staffId; } public String getStaffName() { return staffName; } public String staf...
  • 新版JDK8,List去除重复

    千次阅读 2019-10-10 10:59:01
    List<String> list = list.stream().distinct().collect(Collectors.toList());
  • java List去除重复数据的五种方式

    万次阅读 多人点赞 2019-05-31 12:38:30
    以下介绍五种-不同的方法去除Java中ArrayList中的重复数据 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复...
  • QStringList 去除重复项算法赏析

    千次阅读 2018-04-16 11:07:07
    测试用例: QStringList list; list&lt;&lt;"2222"&lt;&lt;"xxx"&lt;&lt;"1111"&lt;&lt;"2222"&lt;&lt;"xxxx"&lt...
  • List去重复——多个复杂字段判断去重
  • 如果想要集合中的元素不会有重复,那么推荐使用hashSet,如下: ...// list是有重复元素的ArrayList   HashSet hSet = new HashSet(list);   list.clear();   list.addAll(hSet); 
  • Java中List去除重复元素的5种方法

    千次阅读 2020-11-16 13:47:51
    Java中List去除重复元素的5种方法 https://blog.csdn.net/qq_37939251/article/details/90713643 1、使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。...
  • Python去除列表中的重复元素

    万次阅读 多人点赞 2019-04-30 23:21:39
    Python去除列表中的重复元素:三种方法 1.使用set去除重复元素 list1 = [1, 2, 5, 6, 7, 4, 8, 2, 7, 9, 4, 6, 3] list2 = list(set(list1)) print(list2) 输出结果如下: 会改变原列表元素的顺序。 [1, 2, 3, 4, 5...
  • List去除重复元素的工具类

    千次阅读 2017-02-06 21:16:01
    * 功能说明:List去除重复元素的工具类 */ public class RemoveDuplicateUtil { public static List removeDuplicate(List list) { for (int i = 0; i < list.size() - 1; i++) { for (int j = list.siz
  • c# list 去重复

    千次阅读 2016-06-07 02:46:54
    针对数组可以用List.Distinct(),可以过滤掉重复的内容。 针对对象中的某个字段只能用Distinct(IEqualityComparer)using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
  • List去除重复数据的几种方法

    千次阅读 2020-11-18 10:13:43
    List去除重复数据的几种方法 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 ...
  • List集合去除重复对象

    千次阅读 2019-03-21 21:28:51
    在java中,要将一个List重复的对象除去,如果这个集合中的数据类型是基本数据类型,可以直接将List集合转换成Set,就会自动去除重复的元素,大家都知道Set集合的特点就是没有重复的,这个就相对比较简单,这里不在...
  • List如何去除重复元素

    万次阅读 2019-04-15 17:16:29
    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(...
  • 去除List重复的元素

    千次阅读 2018-09-08 23:18:20
    首先,去除List集合中重复的元素有两种方式: 方式一:如下 嵌套循环 //去除重复元素方式一: @Test public void test5(){ ArrayList&lt;Object&gt; list = new ArrayList&lt;&gt;(); list....
  • groovy List 去除重复数据

    千次阅读 2013-01-22 14:23:05
    def list = [a, b, c, c, c] list.unique() // [a, b, c]
  • 转自:http://xinqiqi123.iteye.com/blog/1148984 方法一:循环元素删除  // 删除ArrayList中重复元素  Java code ? 1 2 3 4 5 6 7 8 9 10 public static void
  • list去除重复数据

    千次阅读 2010-04-14 16:15:00
    在java里面要想去除list中的重复数据可以使用两种方式实现: 1. 循环list中的所有元素然后删除重复Java代码 public static List removeDuplicate(List list) { for ( int i = 0 ; i 1 ; i ++ ) { ...
  • list去除重复元素

    千次阅读 2018-07-04 17:04:34
     HashSet h = new HashSet(list); list.clear(); list.addAll(h);
  • 使用jdk1.8的新特性对list集合去重复

    千次阅读 2020-01-03 17:07:47
    使用jdk1.8对list集合去重复 (list集合).stream().distinct().collect(Collectors.toList()); 当list只是一个单纯的集合不是集合对象时,这样使用完全没有问题, 但是当是集合对象的时候它比较的就是地址值,所以根本做...
  • 在实际开发中,经常会遇到需要找出(删除)一个list中某些元素的属性相同的元素,或者两个list中某些元素的属性相等的元素,这种方法很多,这里整理列出一些: 废话不说,上代码,有注释掉的你们自己看import java....
  • Java8中List去掉重复对象方法

    千次阅读 2020-06-19 16:42:56
    1. List中简单元素去重(String等) public List<String> removeStringListDupli(List<String> stringList) { Set<String> set = new LinkedHashSet<>(); set.addAll(stringList); ...
  • 1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ...
  • android去除list集合重复元素

    千次阅读 2018-04-19 18:07:30
    list特点:有序,可重复 set特点:无序,不可重复所以利用这个特性,可将list重复元素去除掉,请往下执行!1.调用如下方法/** * 得到去除重复后的集合 * @param list * @return */ private static List&lt...
  • JAVA8去除LIst里面的重复记录

    千次阅读 2020-04-27 20:15:13
    两种方式:一个是compareTo,一个是java8的。参考: ... import java.util.ArrayList; import java.util.List; import java.util.Set; import j...
  • List集合根据指定字段去除重复

    千次阅读 2020-06-05 16:03:46
    主要通过反射获取指定对象属性,然后利用set集合,对指定属性的值进行比较,结果相等则代表重复

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 749,392
精华内容 299,756
关键字:

list去重复