精华内容
下载资源
问答
  • 2020-02-19 10:24:41

    一、将其转化成HashSet进行操作

                LinkedList<Question> veirfyingList = questionService.getVeirfying(cityCode);
                LinkedList<Question> verifiedList = questionService.getVerifiedQuestion(uid, cityCode);
                HashSet h1 = new HashSet(veirfyingList);
                HashSet h2 = new HashSet(verifiedList);
                h1.removeAll(h2);
                veirfyingList.clear();
                veirfyingList.addAll(h1);
    

    二、利用CollectionUtils工具类来操作

    @Test
    public void testSubtract(){
        String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" };  
        String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" };
        List<String> listA = Arrays.asList(arrayA);
        List<String> listB = Arrays.asList(arrayB);
        //arrayA扣除arrayB
        System.out.println(ArrayUtils.toString(CollectionUtils.subtract(listA, listB)));
        //[A, C, E]
    
    }
    
    附上第二种的CollectionUtils的依赖
           <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.2</version>
            </dependency>
    

    补: 其他方法还可用stream流 但第二种是最方便的方法(目前公司项目我就是用此方法去除的相同元素 即求得差集)

    更多相关内容
  • java 取交集方法retainAll有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素,可以使用retainAll方法:oldCourses.retainAll(newCoures)。如果存在相同元素,oldCourses中仅保留相同的元素...

    java 取交集方法retainAll

    有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素,

    可以使用retainAll方法:oldCourses.retainAll(newCoures)。

    如果存在相同元素,oldCourses中仅保留相同的元素。

    如果不存在相同元素,oldCourse会变为空。

    如果有多个集合oldCourses1、oldCourses2、oldCourses3等,分别与newCourses比较,应该将newCourses统一放在后面,像这样:

    oldCourses1.retainAll(newCoures);

    oldCourses2.retainAll(newCoures);

    oldCourses3.retainAll(newCoures);

    public class Test {

    public static void main(String[] args) {

    List list1 = new ArrayList();

    List list2 = new ArrayList();

    List list3 = new ArrayList();

    for (int i = 0; i < 20; i++) {

    list1.add(i+"");

    if(i%2 == 0) {

    list2.add(i+"");

    }

    list3.add(i+"@");

    }

    // list1 与 list2 存在相同元素,list1集合只保留list2中存在的元素

    list1.retainAll(list2);

    if(list1.isEmpty()) {

    System.out.println("不包含");

    } else {

    System.out.println("包含");

    }

    System.out.println(list1);

    // list1 与 list3 不存在相同元素,list1集合变为空

    list1.retainAll(list3);

    if(list1.isEmpty()) {

    System.out.println("不包含");

    } else {

    System.out.println("包含");

    }

    System.out.println(list1);

    }

    }

    运行结果如下:

    b98556625a355c87a2fe0da389a9cdf2.png

    查看出处:lanxin0802

    ----------------------------java 两个list 交集 并集 差集 去重复并集---------------------------

    List list1 =new ArrayList();

    list1.add("A");

    list1.add("B);

    List list2 =new ArrayList();

    list2.add("B");

    list2.add("C");

    1.并集

    list1.addAll(list2);

    运行结果:A, B, B, C

    2.无重复并集

    list2.removeAll(list1);

    list1.addAll(list2);

    运行结果:A, B, C

    3.交集

    list1.retainAll(list2);

    运行结果: B

    4.差集

    list1.removeAll(list2);

    运行结果:A

    注意:如果不理解怎么打印,可以粘贴方法去菜鸟教程,查看详细使用步骤。

    看出处:n_meng

    展开全文
  • 判断一个元素集合中很容易,只需要遍历这个集合,然后与每个值进行比较,如果有相等的,那么就存在在集合中,然后反过来,就是不存在集合中的,找到它好像挺容易,但是写起代码来好像有点绕,那么,现在就把它写...

    判断一个元素在集合中很容易,只需要遍历这个集合,然后与每个值进行比较,如果有相等的,那么就存在在集合中,然后反过来,就是不存在集合中的,找到它好像挺容易,但是写起代码来好像有点绕,那么,现在就把它写出来: 

    package org.luzhen.test;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @Author: luzhen
     * @Date: 2019-02-22 15:31
     * @Version 1.0
     */
    public class P {
    
        public static void main(String[] args) {
            List<Integer> list1 = new ArrayList<>();
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(4);
            list1.add(5);
    
            List<Integer> list2 = new ArrayList<>();
            list2.add(3);
            list2.add(4);
            list2.add(5);
            list2.add(3);//包含重复元素
    
            for(int i=0;i<list2.size();i++){
                for(int j=0;j<list1.size();j++){
                    if(list2.get(i).equals(list1.get(j))){
                        list1.remove(list1.get(j));
                    }
                }
            }
    
            for(int a=0;a<list1.size();a++){
                System.out.println(list1.get(a));
            }
        }
    }
    

    展开全文
  • 1简单元素的查找一、找到2个集合中相同和不同的元素本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellection list),removeAll方法用于从列表中移除...

    1简单元素的查找

    一、找到2个集合中相同和不同的元素

    本文分享的示例代码实现提取2个集合中相同和不同的元素

    此处需要使用Collection集合所提供的一个方法:removeAll(Cellection list),removeAll方法用于从列表中移除指定collection中包含的所有元素。

    语法 removeAll(Collection<?> c)

    c:包含从列表中移除元素的collection对象。

    该方法返回值为boolean对象,如果List集合对象由于调用removeAll方法而发生更改,则返回true,否则返回false

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;
    public class Test {
        public static void main(String args[]){
            //集合一
            List _first=new ArrayList();
            _first.add("jim");
            _first.add("tom");
            _first.add("jack");
            //集合二
            List _second=new ArrayList();
            _second.add("jack");
            _second.add("happy");
            _second.add("sun");
            _second.add("good");
            Collection exists=new ArrayList(_second);
            Collection notexists=new ArrayList(_second);
            exists.removeAll(_first);
            System.out.println("_second中不存在于_set中的:"+exists);
            notexists.removeAll(exists);
            System.out.println("_second中存在于_set中的:"+notexists);
        }
    }

    结果:

    _second中不存在于_set中的元素:[happy, sun, good]
        _second中存在于_set中的元素:[jack]

    二、去除List中的重复元素(此处只举最简单、常用的方法)

    利用HashSet元素不重复的特性(如果泛型是对象,那么需要实现equals和hashCode方法)


    public void testOtherList(){
    //新建List集合
    List nowList=new ArrayList();
    //加入元素
    nowList.add(1);
    nowList.add(2);
    nowList.add(2);
    nowList.add(55);
    nowList.add(3);
    nowList.add(1);
    nowList.add(56);
    nowList.add(56);
    //利用HashSet元素不重复的特性
    nowList=new ArrayList(new HashSet(nowList));
    System.out.println("去除重复数据后的集合:"+nowList);

    三、操作集合,求交集、并集和差集

    package day0527;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    /**
     * 
     * @ClassName: FindNumber
     * @Description: A={6,3,9,3,2,4,5,7},B={5,8,6,2,1,9},则输出3,4,7,1,8 思路:全集除掉交集,就是结果
     * @author
     * @date 2016年5月27日 上午9:56:25
     *
     */
    public class FindNumber {
    public static void main(String[] args) {
    // 注意:一定要使用创建对象的格式创建数组
    Integer[] a = new Integer[] { 6, 3, 9, 3, 2, 4, 5, 7 };
    Integer[] b = new Integer[] { 5, 8, 6, 2, 1, 9 };
    List _a = Arrays.asList(a);
    List _b = Arrays.asList(b);
    // 创建集合
    Collection realA = new ArrayList<Integer>(_a);
    Collection realB = new ArrayList<Integer>(_b);
    // 求交集
    realA.retainAll(realB);
    System.out.println("交集结果:" + realA);
    Set result = new HashSet();
    // 求全集
    result.addAll(_a);
    result.addAll(_b);
    System.out.println("全集结果:" + result);
    // 求差集:结果
    Collection aa = new ArrayList(realA);
    Collection bb = new ArrayList(result);
    bb.removeAll(aa);
    System.out.println("最终结果:" + bb);
    /**
    * 交集结果:[6, 9, 2, 5] 全集:[1, 2, 3, 4, 5, 6, 7, 8, 9] 最终结果:[1, 3, 4, 7, 8]
    */
    }
    }

    二 查找两个有复杂对象的集合中的不同元素和相同的元素


    public class RolePerm{
    
        private Long rid;
        private Long pid;
        public void setRid(Long rid){
            this.rid=rid;
        }
        public Long getRid(){
            return rid;
        }
        public void setPid(Long pid){
            this.pid=pid;
        }
        public Long getPid(){
            return pid;
        }
        /**
         *重写hashCode,方便集合的操作
         */
        @Override
        public int hashCode() {
            return (int) (this.pid+this.rid);
        }
        /**
         *重写equals,只有pid和rid都相等,才认为这个对象是想等的
         */
        @Override
        public boolean equals(Object obj) {
            if(!(obj instanceof RolePerm)){
                return false;
            }
            RolePermrp = (RolePerm) obj;
    
            return (this.pid == rp.pid) && (this.rid == rp.rid);
    
        }
    
    }

    提取两个集合中的不同元素和相同的元素

    /**
     * 获取两个集合不同
     * @param rps1  rps1数据
     * @param rps2  rps2数据
     * @return  0:rps1中独有的数据;1:交集的数据;2:rps2中的独有数据
     */
    private Map<Integer, List<RolePerm>> findListDiff(List<RolePerm> rps1,List<RolePerm> rps2){
        //判断不能为空
        if(rps1 == null || rps1.isEmpty() || rps2 == null || rps1.isEmpty()) return null;
        //保存最后的数据
        Map<Integer, List<RolePerm>>  mapList = new HashMap<Integer, List<RolePerm>>(3);
    
        //复制rps1,作为备份
        List<RolePerm> rps1_bak = new ArrayList<RolePerm>(rps1);
    
        //1、获取rps1中与rps2中不同的元素
        rps1.removeAll(rps2);
    
        //2、获取rps1和rps2中相同的元素
        rps1_bak.removeAll(rps1);
    
        //3、获取rps2中与rps1中不同的元素
        rps2.removeAll(rps1_bak);
    
        //经过此转换后rps1中数据与rps2中的数据完全不同
        //rps1_bak是rps1和rps2的交集
        //rps2中的数据与rps1中的数据完全不同
    
        mapList.put(0, rps1);//rps1中独有的数据
        mapList.put(1, rps1_bak);//交集的数据
        mapList.put(2, rps2);//rps2中的独有数据
    
    
        return mapList;
    }
    备注:这是稍微复杂的集合,简单的集合没有这么复杂


    展开全文
  • python 获取集合里面的某一个元素

    千次阅读 2021-07-29 23:06:33
    python 获取集合里面的某一个元素,想想呢集合是不支持所以,切片,相加,相乘操作的, 所以想获取集合里面的某一个元素需要转化下思路,比如把即可转成列表然后在利用索引获取 例如: list_a = {"张三", "李四", "王二...
  • List&lt;CourseLessonExt&gt; taglist = map.get(CourseLessonExtTypeEnum.TAG.getIndex()); List&lt;String&gt; tagIdList=taglist.stream() .map((clExt)-&...clExt.getRefId()).collect...
  • 如何判断一个集合是否包含这个元素?本文番茄加速就来讲一下这个知识点。isis 比较的是两个对象的内存地址是否相同。在python中,内存地址查看方法:In [1]: a = [1,2,3]In [2]: id(a) #获取列表实例 a在内存中的地址...
  • set集合取第一个元素的几种方法

    千次阅读 2021-02-12 19:04:41
    package test2; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class TestSet { public static void main(String[] args) { ...//变为list取第一个 } }
  • 本文来自:http://www.cnblogs.com/TrueElement/archive/2012/01/13/2321328.html ...如上,我想把num0中不包含于num1的元素都找出来,其正确结果应该是28,32。早上看到原来linq
  • java8修改list集合元素的属性

    万次阅读 2019-12-11 10:17:13
    java8修改list集合元素的属性,超简单 解决方法: question.getRowOptions()是List集合,现在遍历修改元素的setOptId值 question.getRowOptions().forEach(http://www.yayihouse.com/yayishuwu/chapter/2325); ...
  • java找出集合中相同元素

    千次阅读 2018-06-22 17:32:44
    // 获得元素出现频率的 Map,键为元素,值为元素出现的次数 .entrySet().stream() // 所有 entry 对应的 Stream .filter(entry -> entry.getValue() > 1) // 过滤出元素出现次数大于 1 的 entry .map(entry ...
  • Python数据分析与数据可视化:Python语言中同一个集合中的元素不会重复,每个元素都是唯一的。【?ж???】A:对B:错Python数据分析与数据可视化章节测试答案:对更多相关问题智慧树_带你听懂中国传统音乐_单元测试答案...
  • public class CollectionUtil { private CollectionUtil() { } /** * 找出第一个集合中不存在与第二个集合元素 * * @param collmax * @param collmin * @return */ @SuppressWarnings({ "rawtypes", "unchecked" ...
  • 包括:在Python中向集合里面添加元素可以使用add()方法实现、使用update()方法添加集合元素、使用del命令删除整个集合、使用clear()方法清空集合元素、使用pop()方法删除最后一个元素、使用remove()方法删除指定元素...
  • 比较两个集合是否存在交集就可以...今天小名想分享给大家的是来自“万能的Collections”中的一个静态方法顾名思义,它是用来判断两个集合"不相交的”的结果,但我们只要对返回结果取反,就可以高效获得我们想要的结果。
  • System.out.println("=========第种方式================"); int suma = list.stream().map(e -> e.getAge()).reduce(Integer::sum).get();//求和 System.out.println(suma); int maxa = list.stream().map(e -> ...
  • 在获取数据中我们一般获取到一个集合,然后需要用for循环来取出需要的元素如id 这样比较麻烦,效率好像也低,然后找到一种新的方式,记一下 QueryWrapper<NameListStaff>queryWrapper1 = new QueryWrapper&...
  • 获取Set集合的第一个元素

    万次阅读 2019-12-05 10:55:59
    HashSet set = new HashSet<>(); set.add(“f”); set.add(“a”); set.add(“b”); set.add(“d”); // 增强for循环进行遍历 for (String string : set) { System.out.println...获取第一个元素 简单粗暴...
  • Java如何判断两个集合元素是否完全相等

    万次阅读 多人点赞 2019-01-09 15:11:13
    博主最近在工作的时候遇到了这样的一个需求,前端的页面提交一个表单数据,传到后台,我需要做判断这个表单和已有的表单数据是否有完全相同的,如果有相同的数据,那么就返回一个false,这一个表单不能被保存,如果...
  • python如何向集合追加元素

    千次阅读 2020-11-20 22:24:07
    在Python set是基本数据类型的集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。创建集合set(推荐学习:Python...
  • 列表可以作为集合元素

    千次阅读 2021-01-29 12:17:21
    (3.5分)【单选题】以下哪条语句定义了一个Python字典( ) (3.0分)【判断题】函数是代码复用的一种方式。 (3.5分)【单选题】x = Truey = Falsez = Falseif not x or y:print(1)elif not x or not y and z:print...
  • Java8.从一个list中获取某一元素集合

    万次阅读 2020-07-31 09:31:20
    @Data public class Person { private String name; private String age;... //获取person里面所有年龄集合 List<String> ageList = list.stream().map(Person::getAge).collect(Collectors.toList());
  • Java中如何取出Map集合中的元素

    千次阅读 2021-02-12 23:20:18
    Java的Map集合中没有迭代器,需要将其转换为set集合/*...获取每一个键对应的值。 Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。2,Set> entrySet:将map集合中的映射关系存入到了set集合中, 而...
  • MySQL之集合之间的查询

    千次阅读 2021-01-15 16:35:21
    判断一个元素是否在集合里面。 可用 IN 判断,要求传入参数为集合,然后通过 <foreach collection="List" item="i" index="index" open="(" close=")" separator=","> </foreach> 对集合进行整理。 ...
  • 取两个集合中的相同元素

    千次阅读 2017-10-11 10:39:24
    取两个集合中的相同元素,并将结果转换为字符串code public String GetIntersection(String args1, String args2) { String[] arr1 = args1.split(","); String[] arr2 = args2.split(","); List<String> li
  • Python--从集合中随机取出一个元素

    千次阅读 2020-05-29 23:49:27
    Python--从集合中随机取出一个元素 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 有时候有一个这样的需求,需要在一个数据表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,207,800
精华内容 483,120
关键字:

一个集合的元素