list的交集,差集,并集
List 交集 差集 并集
2023-09-11 14:17:05 时间
工作中用到了list的取差集,发现还是挺好用的。
所以记录下。
需求 | list的方法 | 说明 | 备注 |
---|---|---|---|
交集 | listA.retainAll(listB) | listA内容变为listA和listB都存在的对象 | listB不变 |
差集 | listA.removeAll(listB) | listA中存在的listB的内容去重 | listB不变 |
并集 | listA.removeAll(listB) listA.addAll(listB) |
为了去重,listA先取差集,然后追加全部的listB | listB不变 |
测试代码:
// 交集 List<String> listA_01 = new ArrayList<String>(){{ add("A"); add("B"); }}; List<String> listB_01 = new ArrayList<String>(){{ add("B"); add("C"); }}; listA_01.retainAll(listB_01); System.out.println(listA_01); // 结果:[B] System.out.println(listB_01); // 结果:[B, C] // 差集 List<String> listA_02 = new ArrayList<String>(){{ add("A"); add("B"); }}; List<String> listB_02 = new ArrayList<String>(){{ add("B"); add("C"); }}; listA_02.removeAll(listB_02); System.out.println(listA_02); // 结果:[A] System.out.println(listB_02); // 结果:[B, C] // 并集 List<String> listA_03 = new ArrayList<String>(){{ add("A"); add("B"); }}; List<String> listB_03 = new ArrayList<String>(){{ add("B"); add("C"); }}; listA_03.removeAll(listB_03); listA_03.addAll(listB_03); System.out.println(listA_03); // 结果:[A, B, C] System.out.println(listB_03); // 结果:[B, C]
相关文章
- Leetcode: Nested List Weight Sum II
- python转换数据类型(int、float、str、eval、tuple、list、chr、ord、bin、oct、hex)
- 使用List中的remove方法遇到数组越界
- 【Java】List去重 / 删除ArrayList中重复元素,保持顺序 / 提取两个list中不同的元素
- 为什么java里面经常作List判断的时候,既要判断list不为null,又要判断size>0呢?
- 递归遍历嵌套结构(多层List)中的元素 ------Python
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- 如何用list组件实现tabbar标题栏
- [LeetCode] 1313. Decompress Run-Length Encoded List 解压缩编码列表
- [LeetCode] 234. Palindrome Linked List 回文链表
- [LeetCode] Reverse Linked List 倒置链表
- 【python】经典题型:list列表添加元素
- Java 基础 list 查询 ids