精华内容
下载资源
问答
  • Java判断list集合没有重复元素

    千次阅读 2020-10-20 16:30:27
    public void main() { List<String> list=new ArrayList(); list.add("a"); list.add("a"); list.add("b"); list.add("c"); HashSet<String> hashSet = new ...hashSet.add(s)){ //有重复值 break; } } }
    public void main() {
      
      List<String> list=new ArrayList<>();  
      list.add("a");    
      list.add("a");    
      list.add("b");    
      list.add("c");    
      
      HashSet<String> hashSet = new HashSet<>();    
      	for (String s : list) {        
     	 	if (!hashSet.add(s)){   
     	 		//有重复值         
      			break;        
     	 	}    
     	 }
      }
    
    展开全文
  • Java获取集合重复元素

    千次阅读 2019-10-15 13:29:32
    需求 我们在下订单的时候,收件人的地址信息可能会多个,现在的需求是把一些重复的地址信息...可以通过使用 HashSet 的 add 方法将地址列表中的地址一个一个的添加到 HashSet 中,add 方法个返回值,类型为 Bool...

    需求

    我们在下订单的时候,收件人的地址信息可能会有多个,现在的需求是把一些重复的地址信息删除掉。

    姓名,电话,省,市,区,详细地址完全相同则认为是同一个收件人。

    分析

    地址是存在数据库的表里的,所以我们需要先查出每个收件人下重复的地址,再做数据库的删除操作。可以通过使用 HashSet 的 add 方法将地址列表中的地址一个一个的添加到 HashSet 中,add 方法有个返回值,类型为 Boolean,值为 true 表示添加成功,false 表示当前元素已经重复了,此时,可以将这个已经重复的元素添加到另一个集合中,即可完成对重复元素的收集。最后,再通过数据库操作把这些重复的元素删除即可。

    实现

    地址实体类:

    import lombok.Data;
    
    import java.util.Objects;
    
    // 地址实体类
    
    展开全文
  • 找出两List集合重复元素

    万次阅读 热门讨论 2019-02-13 20:26:56
    前几天,个同事问我说怎么找出两个List集合重复元素,我当时就说一个集合在外面循环,一个集合在内循环,如果两个元素相等了,就找出来了,我回来一想还是不对,要是数据非常多,这样循环下去,服务器会卡死的...

    前几天,有个同事问我说怎么找出两个List集合中重复的元素,我当时就说一个集合在外面循环,一个集合在内循环,如果两个元素相等了,就找出来了,我回来一想还是不对,要是数据非常多,这样循环下去,服务器会卡死的,最后我想了想,用以下两种方法:

       List<String> list1 = new ArrayList<>();
                List<String> list2 = new ArrayList<>();
                list1.add("a");
                list1.add("b");
                list1.add("c");
                list1.add("d");
                list2.add("d");
                list2.add("f");
                list2.add("g");
                list2.add("h");
                list2.add("k");
    

    第一种方法:这是把list1集合放到list2中

     list2.addAll(list1);
            HashMap<String,Integer> mapList=new HashMap<>();
            for(String str:list2){
                int count=0;
                if(mapList.get(str)!=null){
                    count=mapList.get(str)+1;
                }
                mapList.put(str,count);
            }
            System.out.println("重复的元素是:");
            for(String key:mapList.keySet()){
                if(mapList.get(key)!=null && mapList.get(key)>0){
                    System.out.println(key);
                }
            }
    

    第二种方法:

       Map<String,String> map=new HashMap<>();
            String str=null;
            String stp=null;
            String psp=null;
            for(int i=0;i<list1.size();i++){
                str=list1.get(i);
                map.put(str,str);
            }
            for(String spt:map.keySet()){
                System.out.println("key:"+spt+"-----------value:"+map.get(spt));
            }
            System.out.println("==========="+map.entrySet());
            for(int i=0;i<list2.size();i++){
                stp=list2.get(i);
                if(stp.equals(map.get(str))){
                    System.out.println("重复的元素:"+stp);
                }
            }
    

    以上就是我用的两种方法,由于是个菜鸟,所以大神们有更好的方法望指点,在下感激不尽!


    补充:
    下面是java8新特性去list集合重复的方法,非常简单,比前的方法简单多了,
    首先是将两个集合合并在一起,然后就是下面的方法:(list2是合并以后的集合,spa是去重复的新集合)

     List<String> spa = list2.stream()
                        .distinct()
                        .collect(Collectors.toList());
    

    这种方法最简单,代码少,清晰明了!!!!


    补充:
    java8的方法中可以找出相同的元素 代码如下:

    	public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("a");
            list.add("b");
            list.add("c");
            list.add("d");
            list.add("a");
            list.add("b");
            System.out.println(getDuplicateElements(list.stream()));
        }
    
        public static <T> List<T> getDuplicateElements(Stream<T> stream) {
            return stream.collect(Collectors.groupingBy(p -> p,Collectors.counting()))
                    .entrySet().stream() // Set<Entry>转换为Stream<Entry>
                    .filter(entry -> entry.getValue() > 1) // 过滤出元素出现次数大于 1 的 entry
                    .map(entry -> entry.getKey()) // 获得 entry 的键(重复元素)对应的 Stream
                    .collect(Collectors.toList()); // 转化为 List
        }
    

    执行结果如下:

    [a, b]
    

    由于在方法中使用了泛型,所以可以接收任意类型的流,注意在如果是对象,别忘了重写其 hashCode() 和 equals() 方法。

    展开全文
  • 消除集合重复元素

    千次阅读 2018-07-25 10:48:43
    set存放不重复的对象,只能有一个null元素。 知道两者的区别,就可以利用Set不允许重复值的特点,消除集合中的重复元素。 例: 1.利用ArrayList去除集合中重复字符串元素 ArrayList list = n...

    传送门:list、map、set的区别

    消除集合中重复元素,根本考差点即list与set的区别。
    简单点说:list 代表有索引编号的集合,可以存放重复的对象,可以在指定的位置插入对象。set存放不重复的对象,只能有一个null元素。

    知道两者的区别,就可以利用Set不允许重复值的特点,消除集合中的重复元素。

    例:

    1.利用ArrayList去除集合中重复字符串元素

    
            ArrayList list = new ArrayList();
            list.add("aa");
            list.add("bb");
            list.add("cc");
            list.add("aa");
            list.add("bb");
    
           ArrayList newList = getSingle(list);
            System.out.println(newList);
        /*
        创建一个新的集合,存放去除重复元素后的元素。
    
          分析:1,创建新集合
             2,根据传入的旧集合获取迭代器
             3,遍历旧集合
             4,通过新集合判断是是否包含旧集合中的元素,如果包含,就不添加,否则才添加
        */
        public static ArrayList getSingle(ArrayList list){
                ArrayList newList = new ArrayList();     //创建新集合
                Iterator it = list.iterator();        //根据传入的集合旧集合获取迭代器
                while(it.hasNext()){          //遍历旧集合
                Object obj = it.next();       //记录每一个元素
                if(!newList.contains(obj)){   //如果新集合中不包含旧集合中的元素,则添加
                newList.add(obj);       
                }
            }
            return newList;//返回的集合即去掉重复元素后的集合
        }
    

    2.利用Set去除集合中重复字符串元素

    ArrayList list = new ArrayList();
            list.add("aa");
            list.add("bb");
            list.add("cc");
            list.add("aa");
            list.add("bb");
            System.out.println("旧集合:"+list);
            Set set = new HashSet(list);
            List newList = new ArrayList(set);
            System.out.println("新集合"+newList);

    对比可见,set集合在实例化时可直接传递list参数。相比较利用arraylist遍历每一个元素,更加方便。

    展开全文
  • 去掉一个Vector集合重复元素

    千次阅读 2017-10-10 09:47:01
    去掉一个Vector集合重复元素  它两种方式: 第一种:通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,用于数据较小的情况:  代码如下 package Collection; import ...
  • 判断集合中是否存在重复元素(我项目中的一个实际需求),需求如下: { 1, 2, 3, 5, 4, 3, 7, 2, 0, 1, 3, 2, 0, 2 } ------&amp;gt; 存在重复元素 { 1, 2, 3, 4, 5, 6}--------------------------------&amp;...
  • 去掉一个 Vector 集合重复元素

    千次阅读 2017-10-03 10:39:16
    在java中去掉一个 Vector 集合重复元素 1.通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,适用于数据较小的情况下。 private Vector getNoSameObjectVector(Vector ...
  • 去除集合中的重复元素(Java)

    千次阅读 2020-03-06 15:29:39
    如果集合有重复数据,你会怎么去重呢,我用的最多的是第种,接下来随着小编一起往下看吧! 第部分: (1)使用Set 去重(无顺序) //第种方式,打印出来的数据是没有顺序的。 List<String> ...
  • Java删除List集合中的重复元素

    千次阅读 2018-01-12 10:45:33
    Java实现删除List集合中的重复元素的方法很多种,本文只介绍几种常用的方法。简单起见,本例中List的泛型皆为String类型,如果泛型为类,去重方法类似。 1、使用HashSet的无重复的特性,只是去重后的List不能保持...
  • 对于List集合判断是否存在重复元素,我是用了Set集合的特点:不能存储相同的元素, 达到判断List集合是否存在重复元素以及去重的效果。 例子: public static void main(String[] args) { List&amp;amp;lt;...
  • 集合交集

    千次阅读 2019-03-17 11:13:00
    给定两整数集合(每个集合中没有重复元素),集合元素数<=100000,求两集合交集,并按非降序输出。 输入格式: 第行是n和m,表示两个集合的元素数; 接下来是n数和m数。 输出格式: 第行输出交集...
  • Java中利用Set判断List集合中是否有重复元素

    万次阅读 多人点赞 2018-12-05 20:05:36
    我们不需要找出重复元素,我们只需要返回一个Boolean类型就可以了 如果使用循环遍历的方式,将会消耗大量的性能 我们只需要将List集合转化为Set集合,再进行比较就可以实现了: 代码如下: package com.test; ...
  • Java中判断List集合中是否有重复元素

    千次阅读 2019-08-01 10:31:43
    我们不需要找出重复元素,我们只需要返回一个Boolean类型就可以了 如果使用循环遍历的方式,将会消耗大量的性能 我们只需要将List集合转化为Set集合,再进行比较就可以实现了:代码如下:package com.test;import ...
  • ls = eval(input("请输入一个列表:")) if ls != list(set(ls)): print(True)
  • 如何将java集合重复元素取出来

    千次阅读 2019-03-09 19:57:36
    今天就给大家讲一下如何将将集合重复元素找出来 不多废话,直接代码 此处是对集合中的数字进行查找,其他类型照样适用! List&amp;lt;Integer&amp;gt; list = new ArrayList&amp;lt;Integer&...
  • set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 语法 set 语法:class set([iterable]) 参数说明:iterable -- 可迭代对象; 返回值 返回新的集合对象。 ...
  • 问题描述 在.NET/C#应用程序编程开发中,如何判断一个字符串集合List<string>中是否重复的元素? ...现在有一个简单的判断/检查lstNames字符串集合中是否有重复元素的实现,如下: i...
  • Set集合不允许存储重复元素原理

    千次阅读 2020-06-22 20:46:38
    Set集合不允许存储重复元素原理 package com.Set; import java.util.HashSet; /* Set集合不允许存储重复元素原理 */ public class Demo02HashSetSaveString { public static void main(String[] args) { //创建...
  • 定义一个功能将ArrayList 集合中的重复元素删除 ArrayList 集合中是允许储存重复元素的 import java.util.ArrayList; import java.util.Iterator; //定义一个功能将ArrayList 集合中的重复元素...
  • 众所周知,map接口是一种双列集合,每一个键对象key值都不相等,利用这个特性,可以统计重复元素的个数 public class Main { public static void main(String args[]) { TreeMap&lt;String, Integer&gt; ...
  • List(列表):元素有序,元素可以重复 (索引)。 通过元素的equals()方法判断是否重复。ArrayList:https://blog.csdn.net/houyanhua1/article/details/80494916Demo.java:package cn.xxx.demo; import java.util....
  • 如何在Set集合中添加重复元素

    千次阅读 2020-03-22 00:16:43
    Set集合元素重复比较    当你把对象加入HashSet时,HashSet会先计算对象的hashcode值来判断对象加入的位置,同时也会与其他已经加入的对象的hashcode值作比较,如果没有相符的hashcode,HashSet会假设对象没有...
  •  Console.WriteLine("====这个集合存在重复");  break;  }  }    Console.ReadLine();  }  } }  ISet<string> devicesIDSet = new SortedSet();  Boolean tlag=...
  • java中set集合如何去除重复元素

    万次阅读 2017-07-25 19:12:11
    用set集合添加一个学生对象元素时:import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set;public class People { String name;
  • 此处需要使用Collection集合所提供的一个方法:removeAll(Cellection list) 实现代码如下: import java.util.ArrayList; import java.util.Collection; import java.util.List; public class Test { public ...
  • Set集合如何判断重复元素

    千次阅读 2019-04-20 15:06:00
    1.TreeSet子类是利用Comparable接口来实现重复元素的判断,但是Set集合的整体特征就是不允许保存重复元素。 2.HashSet判断元素重复是利用Object类中的方法实现的: -|对象编码:public int hashCode(); -|对象....
  • java 获取集合重复元素

    千次阅读 2020-03-17 16:57:02
    代码块 package com.test.boke; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; ...public class Test { public static void main(String[] args) { ... l...
  • Java集合面试题

    万次阅读 多人点赞 2019-06-25 14:46:19
    Java集合面试题 Java 集合框架的基础接口哪些? Collection ,为集合层级的根接口。一个集合代表一组对象,...List ,是一个有序集合可以包含重复元素。你可以通过它的索引来访问任何元素。List 更像长度动态...
  • java 集合 Set 插入重复元素

    千次阅读 2019-05-04 13:21:35
    java 集合 Set 插入重复元素
  • List集合取出重复元素

    千次阅读 2018-06-21 20:52:30
    删除List集合中的重复元素 package com.mypro.test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * Created by Administrator on 2018/6/21. ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 389,124
精华内容 155,649
关键字:

一个集合可以有重复的元素吗