`
lk215215
  • 浏览: 64442 次
  • 来自: ...
社区版块
存档分类
最新评论

提取两个List容器中相同的内容

阅读更多

一般的方法是用一个中间量保存循环比较中存在相同的内容。最近查看API看见List中的removeAll()方法,由此方法产生一下解决方案:
假设比较的List分别为:A,B 建立中间变量C。
首先将A的值克隆给C。使用C.removeAll(B)的方法。这样C中存在的既是A和B中不同的内容。
最后在使用A.removeAll(C)这样最后A中留下的内容极为A,B中相同的内容。
以上是一时想起了写写。

今天回来后查看了下书籍发现使用List的retainAll()方法即可比较相同的项,即去两个List的交集,不过List中存放是对象的时候需要重写对象中的equals方法。

分享到:
评论

相关推荐

    Java容器有两种基本类型Collection 和 Map

    Collection 和 Map 是 Java 中的两种基本容器类型,它们都可以用来存储和管理对象,但它们有着不同的特点和用途。 Collection 是一种聚集对象的容器,每个位置只能保存一个元素。Collection 的主要实现类有 List 和...

    JAVA8 List<List<Integer>> list中再装一个list转成一个list操作

    关键在于`Stream`的`collect`方法,它接受一个收集器(Collector),用于将流中的元素聚合到某种容器中。在这个场景下,我们可以使用`Collectors.toList()`,但还需要一个初始容器。为了达到这个目的,我们使用`...

    STL容器使用代码

    每个容器都有自己的迭代器,用于遍历容器中的元素。例如,`iterator = container.begin()` 和 `iterator = container.end()` 分别表示容器的起始和结束位置,`*iterator` 可以获取当前迭代器指向的元素,`++iterator...

    C++ 读、写文件练习 包含list类实现

    本项目名为“C++ 读、写文件练习 包含list类实现”,主要涵盖了两个关键知识点:C++中的文件I/O操作以及C++标准库中的`std::list`容器的使用。 首先,我们来探讨C++的文件I/O操作。C++提供了丰富的流(stream)类库...

    【Python学习笔记】第六章 容器类型的数据.pdf

    加操作可以将两个序列连接起来,而乘操作则可以将序列重复指定次数。 **示例代码**: ```python a = 'Hello' b = a * 2 # 'HelloHello' a *= 2 # 修改a的值为'HelloHello' c = 'Hello' + ',' # 'Hello,' c += '...

    C 实验_3顺序容器类、库算法.doc

    实验总结,通过这两个具体问题,学生可以深入理解C++中的顺序容器和库算法的运用,掌握如何根据问题需求选择合适的数据结构和算法,同时学习如何评估和优化程序性能。这不仅巩固了理论知识,也锻炼了解决实际问题的...

    容器总结1

    9. **容器操作函数**:`sort()`用于对容器中的元素进行排序,`resize()`改变容器大小,`reserve()`预分配空间以提高效率,`unique()`删除连续重复的元素,`merge()`合并两个排序的容器,`remove()`和`remove_if()`...

    文件上传两个jar包commons-fileupload-1.3.1和commons-io-2.4

    在这个场景中,`commons-fileupload-1.3.1.jar` 和 `commons-io-2.4.jar` 是两个至关重要的库,它们提供了强大的文件上传支持。 `commons-fileupload-1.3.1.jar` 是Apache Commons FileUpload项目的实现,这是一个...

    ssh(structs,spring,hibernate)框架中的上传下载

    Spring 1.2.5提供了两个lobHandler:  •DefaultLobHandler:适用于大部分的数据库,如SqlServer,MySQL,对Oracle 10g也适用,但不适用于Oracle 9i(看来Oracle 9i确实是个怪胎,谁叫Oracle 公司自己都说Oracle 9i...

    List-array-and-string-master.zip

    2. `strcat(str1, str2)`:连接两个字符串。 3. `strfind(str, substr)`:查找子字符串的位置。 4. `strsplit(str, delimiter)`:根据分隔符拆分字符串。 **Cell数组**,MATLAB中的列表,可以包含不同类型的元素...

    C++文档/ETL/STL

    在实际编程中,开发者可以使用vector来存储动态数组,list用于链表操作,set或map用于集合操作,而sort、find、count等算法则可以帮助我们高效地处理这些容器中的数据。 C++的STL还引入了迭代器的概念,迭代器是...

    java常用操作代码

    本文将详细解释标题和描述中提到的Java代码片段,主要涉及List、Set、Map等核心数据结构,以及ArrayList、Vector、LinkedList、HashMap和HashTable的区别,并介绍如何遍历Collection和从字符串中提取数字的方法。...

    java常用工具GitChat1

    这两个部分的信息相对简单且重复,主要传达了一个概念:这是一个关于Java开发中常用工具介绍的内容。考虑到“GitChat1”可能是指一个特定的学习或讨论资料,我们可以推测这部分资料涉及了Java开发者在日常工作中经常...

    2022年计算机等级考试二级模拟试题及答案.doc

    15. 运算结果比较:A)两个函数都从"FoxPro"中取出前三个字符,结果相同;B)提取年份和从日期字符串中提取年份的最后两位,结果一致;C)VARTYPE函数会根据变量类型返回字符串,但表达式的计算会影响结果;D)字符串...

    c++常用代码

    `print()`函数用于打印链表的内容,而`sortlist()`和`sortlist2()`是两个实现链表排序的函数。这两个函数都采用了选择最小值并将其移动到链表头部的策略,但具体实现有所不同: - `sortlist()`:在每个迭代中,...

    大厂真题之阿里云-Java实习生.pdf

    如果有两个线程A和B,都进行插入数据,刚好这两条不同的数据经过哈希计算后得到的哈希码是一样的,且该位置还没有其他的数据。这样可能会导致线程不安全的情况。 HashMap的扩容过程 当向容器添加元素的时候,会...

    陶大lesson5tuple与模板元编程.pdf

    由于提供的文件信息中没有包含实际的内容片段,而是以乱码的形式出现,所以无法从中提取相关的知识点。但是,根据文件的标题和描述,我们可以推断出文件应该包含了关于“tuple(元组)”和“模板元编程”这两个主题...

    python里dict变成list实例方法

    d2 = dict(zip(list_keys, list_values)) # 合并两个列表为字典 print('d2:', d2) ``` **运行结果:** ``` d2: {'en': '英语', 'cn': '中文', 'fr': '法语', 'jp': '日语'} ``` #### 结论 通过本文的介绍,我们...

    dotnet core利用AngelSharp抓取emoji字符串,并保存json文件

    现在,我们来详细讲解如何使用这两个工具来实现目标: 1. **安装依赖库** 首先,确保已安装.NET Core SDK,然后在项目中添加AngelSharp依赖。通过NuGet包管理器或在`csproj`文件中添加以下内容: ``` ``` 2. ...

Global site tag (gtag.js) - Google Analytics