`
- 浏览:
36870 次
-
java两个ArrayList合并,并且去掉重复数据的算法
package com.lxl.test;import java.util.ArrayList;import java.util.List;/*** 两个ArrayList合并,并且去掉重复数据的算法* 思路:* ①取出两个list中公共的元素* ②分别从两个list中把公共的元素去掉* ③将去掉公共元素的两个list合并就去掉了重复的数据*/public class Test {public static void main(String[] args) {List list1 = new ArrayList();list1.add(1);list1.add(2);list1.add(3);list1.add(4);list1.add(5);list1.add(6);List list2 = new ArrayList();list2.add(4);list2.add(5);list2.add(6);list2.add(7);list2.add(8);list2.add(9);//temp用来保存两者共有的数据List temp = new ArrayList(list1);/*** 目前temp中包含1.2.3.4.5.6*/System.out.println(temp);//retainAll(Collection<?> c)//仅在列表中保留指定 collection 中所包含的元素//这里的意思是temp只保留list2中有的元素temp.retainAll(list2);/*** 目前temp中仅有list1和list2中的公共元素4.5.6*/System.out.println(temp);//从list1和list2中去掉两者共同有的数据list1.removeAll(temp);list2.removeAll(temp);List list3 = new ArrayList();list3.add(list1);list3.add(list2);System.out.println(list3);
}}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Java编程中,合并多个List并去除重复元素是一项常见的任务,尤其在处理数据集合时。在给定的案例中,我们看到两种不同的方法来完成这个任务。首先,让我们详细讲解这两种方法。 ### 1. 使用`addAll()`和`...
算法中使用了两个栈`s`和`e`分别存储合并后的起始时间和结束时间。遍历列表中的每个时间段时,根据当前时间段与栈顶元素的关系进行以下操作: - 如果当前时间段的开始时间大于栈顶的结束时间,则说明这两个时间段...
这个算法的实现使用了 Java 语言,主要包括两个类:UnionAlgorithm.java 和 Interval.java。UnionAlgorithm 类用 ArrayList 表示区间的集合,每一个元素表示一个区间,ArrayList 中元素顺序为这些元素表示的区间按照...
它接收两个参数,一个是包含多个字符串的ArrayList(每个字符串代表一个数组),另一个是固定的取长度`num`。 - 在`Alg`方法内部,使用一个while循环来处理直到所有数组都被遍历完。 - for循环遍历ArrayList中的每...
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 36 56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序...
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 36 56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序...
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 36 56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序...
- 题目要求编写一个方法,将两个字符串数组合并并去除重复元素。可以使用HashSet来实现,因为它自动去重。 ```java public String[] union(String[] array1, String[] array2) { Set<String> set = new HashSet...
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 40 56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序...
55、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 36 56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序...
Java数组是程序设计中最基本的数据结构之一,它们用于存储固定数量的同类型元素。下面将详细解释Java数组操作的10大方法。...理解并熟练运用这些技巧是Java编程的基础,对于处理数据和优化算法至关重要。
相比之下,选择(即筛选)和并(即合并两个表中的记录,去除重复)等操作通常更加高效。 ### 2. 排序算法的内存需求 - **知识点**: 不同排序算法对内存的需求不同。 - **详细解释**: 归并排序是一种分而治之的算法...