import java.util.*;
/**
* Created by tWX344078 on 2016/6/22.
*/
public class CalculateTest {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1,2,34,12,2,1,4,5,34,5);
List<Integer> list2 = Arrays.asList(1,1,21,22,34,123,62,4,5,4,5);
List<Integer> list3 = new ArrayList<Integer>();
Map<Integer,List<Integer>> map1 = new HashMap<Integer, List<Integer>>();
for (Integer u : list1){
if(map1.get(u)==null){
map1.put(u,new ArrayList<Integer>());
}
map1.get(u).add(u);
}
Map<Integer,List<Integer>> map2 = new HashMap<Integer, List<Integer>>();
for (Integer u : list2){
if(map2.get(u)==null){
map2.put(u,new ArrayList<Integer>());
}
map2.get(u).add(u);
}
Set<Integer> set1 = map1.keySet();
Set<Integer> set2 = map2.keySet();
for(Integer s1 : set1){
for(Integer s2 : set2){
if(s1.equals(s2)){
list3.addAll(map1.get(s1));
list3.addAll(map2.get(s2));
}
}
}
for(Integer h : list3){
System.out.println(h);
}
// List<Integer> list3 = new ArrayList<Integer>();
//
// List<Integer> list4 = new ArrayList<Integer>();
// List<Integer> list5 = new ArrayList<Integer>();
// Set<Integer> set = new HashSet<Integer>();
// for(int i =0 ;i< list1.size();i++){
// for(int j=0;j<list2.size();j++){
// if(list1.get(i).equals(list2.get(j))){
// set.add(list1.get(i));
//
// }
// }
// }
// int outSize = list1.size();
// int intSize = list2.size();
// for(int i =0 ;i< outSize;i++){
// for(int j=0;j<intSize;j++){
//
// if(list4.size()>0){
// if(!list4.contains(j)){
// if(list1.get(i).equals(list2.get(j))){
// list3.add(list1.get(i));
// list3.add(list2.get(j));
//
// list4.add(j);
// }
// }
// }else{
// if(list1.get(i).equals(list2.get(j))){
// list3.add(list1.get(i));
// list3.add(list2.get(j));
//
// list4.add(j);
// }
// }
//
//
// }
// }
//
//
// for (Integer k : set){
// System.out.print(k);
// }
//
// for(Integer h : list3){
// System.out.println(h);
// }
// for(Integer h : list4){
// System.out.println(h);
// }
}
}
运行结果如下:
1
1
1
1
34
34
34
4
4
4
5
5
5
5
分享到:
相关推荐
2. **交集**:两个或多个集合的交集是指同时存在于这些集合中的元素组成的集合。 3. **合并**:在本文档中指将具有共同元素的字符串合并成一个新的字符串的过程。 #### 三、程序设计与实现 ##### 1. 类与方法设计 ...
总结来说,本文介绍了Java集合操作中的一种重要方法——removeAll方法,并提供了一个简单的示例代码,演示如何使用removeAll方法从两个集合中提取相同和不同元素。希望本文能够对大家有所帮助。
该类中包含了多个成员函数,用于实现集合的基本运算,例如添加元素、删除元素、判断元素是否在集合中、输出集合等。 首先,我们定义了 int_set 类的构造函数,用于初始化集合的最大大小和当前大小。然后,我们定义...
一个集合如果允许存在相同的元素,则称之为多重集合. 多重集 S 中的元素 x 如果恰好在 S 中出现 r 次, 则称 x 是 r 重的, 也称 r 为 x 的重数. 重数最大的元素称为众数. 例如, S = { 1,2,2,2,3,5 } 的众数是 2,...
比较两个集合是否相同(比较两个List内容是否相同) 利用Java反射机制,获取到字段名、方法名、字段值,进行逐个比较,此处本人封装好了工具类,接收的是泛型,调用者只需要传入两个实体List即可进行比较,返回true...
例如,非负整数集合N包含了所有非负整数,而自然数集合N则与非负整数集合相同,包含0。正整数集合N+或N*是排除0的非负整数集合,整数集合Z包含了所有的整数,有理数集合Q包含了所有可表达为分数的数,实数集合R则...
这个问题可以通过一个名为`sortArr`的函数来解决,它接收两个参数:一个数组(`arr`)和一个字符串(`str`),然后返回一个新的数组,其中的元素是原数组中具有相同属性值的对象的集合。 首先,让我们详细解析`...
这种方法的基本思想是通过双重循环来遍历列表中的每个元素,并检查是否存在相同的元素。如果存在,则移除重复项。 ```java for (int i = 0; i (); i++) { for (int j = i + 1; j (); j++) { if (list.get(i)....
具体实现是:遍历第一个链表中的所有元素,对于每一个元素,在第二个链表中查找是否存在相同的元素。如果存在,则将该元素加入到结果链表中。 - **计算多个集合的交集**:在主函数`main()`中,首先创建了多个表示...
在处理多个数组时,有时我们需要找出两个数组中的相同元素或者不同元素。Java作为一种广泛使用的编程语言,提供了多种方法来完成这样的任务。本篇文章将深入探讨如何在Java中获取两个数组的相同元素和不同元素。 ...
正确的差集算法需要首先确定并集,然后检查一个集合中的元素是否在另一个集合中出现。若未出现,则该元素是差集的一部分。 5. 去重和排序: 代码中也包含了冒泡排序算法来对结果数组进行排序,并通过交换元素来去除...
在两个List中找到相同的元素,但它们的值不同。这需要我们遍历两个List,比较每个元素的值。我们可以创建一个辅助函数来检查元素是否被编辑: ```java public boolean isElementEdited(Object oldElement, Object ...
在C#编程语言中,将多个数组的元素合并到一个新的单一数组中是一个常见的操作,尤其在处理数据集合或进行数据整合时。这个过程通常被称为数组的合并或连接。本篇文章将详细讲解如何实现这一功能,并提供相关的源代码...
在Java编程中,集合操作是非常常见的,而在实际开发中,我们经常遇到需要从两个List集合中提取相同的重复数据的情况。这篇文章将为大家分享一个关于两个List集合取相同重复数据的方法。 首先,我们需要了解什么是...
(2)二个集合的交运算:把数组A中元素逐一与数组B中的元素进行比较,将相同的元素放在数组C中,数组C便是集合A和集合B的交。 (3)二个集合的并运算:把数组A中各个元素先保存在数组C中。将数组B中的元素逐一与数组...
2. 互异性:一个集合中的元素是互不相同的,即集合中的元素是不重复出现的。 3. 无序性:集合中的元素无顺序,可以任意排列、调换。 集合的表示方法 集合的表示方法有两种: 1. 列举法:把集合中的元素一一列举...
2. `any(s)`:如果集合中有任意一个元素为真,则返回`True`,否则返回`False`。 3. `all(s)`:只有当集合中所有元素都为真时才返回`True`,否则返回`False`。 4. `sorted(s)`:返回一个按字典顺序排序的列表,集合...
2. 遍历第一个集合,对于每个元素,检查它是否也在第二个集合中。 3. 如果元素在第二个集合中存在,那么将该元素添加到交集表中。 4. 完成遍历后,返回交集表。 这个过程的时间复杂度也是O(n + m),因为每个元素都...
- 第二行包含`n`个字符,这些字符即为待排列的元素。 #### 输出格式 针对每组输入数据,输出所有不同的排列,每个排列占一行。在最后一行输出总的排列数量。 #### 示例 **输入示例** ``` 4 aacc ``` **输出...
2. **交换元素以确保交集元素位于`next`数组的前面**:通过双层循环遍历`last`和`next`数组,当找到两个数组中的相同元素时,就将这个元素移动到`next`数组的最前面,这样做的目的是让交集元素集中在`next`数组的...