`

求两个集合中相同的元素

阅读更多
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
0
2
分享到:
评论

相关推荐

    将几个集合中相同元素合并

    2. **交集**:两个或多个集合的交集是指同时存在于这些集合中的元素组成的集合。 3. **合并**:在本文档中指将具有共同元素的字符串合并成一个新的字符串的过程。 #### 三、程序设计与实现 ##### 1. 类与方法设计 ...

    求两集合的交集 求两个集合的交集

    总结起来,C++ 中求两个集合交集的方法主要包括使用`std::set_intersection`函数以及手动迭代比较。前者在效率和简洁性上更具优势,后者则更为灵活,适应性更强。在实际应用中,应根据具体需求选择合适的方法。在...

    工程实践 第一部分 题目一 求两个集合的合并运算 题目二 求两个有序表合并算法.zip

    合并两个集合通常涉及到将一个集合的所有元素添加到另一个集合中,确保结果集合中没有重复的元素。对于这个问题,可以使用两种基本的数据结构来实现:数组和链表。 1. **数组实现**:数组是一种连续的内存空间,...

    比较两个集合是否相同(比较两个List内容是否相同)

    比较两个集合是否相同(比较两个List内容是否相同) 利用Java反射机制,获取到字段名、方法名、字段值,进行逐个比较,此处本人封装好了工具类,接收的是泛型,调用者只需要传入两个实体List即可进行比较,返回true...

    c++程序设计实现集合交集并集差集.pdf

    jiao 函数,用于计算两个集合的交集;bing 函数,用于计算两个集合的并集;cha 函数,用于计算两个集合的差集。 最后,我们在 main 函数中演示了如何使用 int_set 类,例如创建集合、输入集合、删除元素、添加元素...

    获取两个数组相同的元素或不同的元素输出

    `retainAll()`方法用于保留两个集合的交集,`removeAll()`方法则用于移除指定集合的元素。 总之,Java提供了多种方式来获取两个数组的相同元素和不同元素。从简单的线性搜索到高效的哈希表和流API,开发者可以根据...

    Java提取2个集合中的相同和不同元素代码示例

    今天,我们将讨论如何使用Java从两个集合中提取相同和不同元素的代码示例。 首先,让我们了解一下Java集合框架中提供的removeAll方法。removeAll方法用于从列表中移除指定collection中包含的所有元素。其语法为:`...

    两个集合比较(新增、编辑、删除)

    本文将深入探讨如何比较两个集合,并关注在Java中使用List进行对比时的“新增”、“编辑”和“删除”操作。首先,我们需要理解集合的基本概念。集合是存储一组元素的数据结构,而List是一种有序的集合,允许重复元素...

    取两个集合的交集

    两个集合的交集指的是同时存在于这两个集合中的元素所组成的集合。例如,如果集合A={1, 2, 3, 4},集合B={3, 4, 5, 6},那么它们的交集就是{3, 4}。 #### 2. 交集的计算方法 计算两个集合的交集可以采用多种方法,...

    两个List集合取相同重复数据的方法

    在Java编程中,集合操作是非常常见的,而在实际开发中,我们经常遇到需要从两个List集合中提取相同的重复数据的情况。这篇文章将为大家分享一个关于两个List集合取相同重复数据的方法。 首先,我们需要了解什么是...

    C语言中求集合的交并差集

    - 交集:两个集合A和B的交集是一个新的集合,包含所有同时属于集合A和集合B的元素。 - 并集:两个集合A和B的并集是一个新的集合,包含所有属于集合A或集合B(或者同时属于两者)的元素。 - 差集:集合A与集合B的差集...

    java 求两个数组中重复元素源代码

    在Java编程中,找出两个数组中... // 只保留两个集合共有的元素 return set1; } } ``` 以上就是关于“java求两个数组中重复元素源代码”的详细解析,涵盖了数组操作、重复元素查找、代码实现及优化等方面的知识。

    利用带头结点的单链表实现两个集合的并、交、差运算.docx

    在题目功能描述中,我们可以了解到该文档的主要功能是使用带头结点的单链表存储两个集合中的元素和最终的结果。该文档还将提供一种方法来过滤重复的数据,并显示两个集合的内容及其并集、交集和差集的内容。 在概要...

    C++编程:建造集合类实训

    本文将详细讲解C++编程中集合类的实现,包括集合类的定义、添加元素、删除元素、判断集合是否为空或满、判断元素是否包含在集合中、计算集合中的元素总数、输出集合中的元素、求两个集合的交集和并集等操作。...

    C++求两个集合的并集

    在C++编程中,求两个集合的并集是一项常见的任务,尤其在处理数据结构和算法问题时。本篇文章将详细讲解如何使用C++语言来实现这个功能,通过一个实际的示例来帮助读者理解并掌握相关知识。 首先,我们要知道集合的...

    集合运算_集合运算问题_

    集合运算问题。设计一个程序,实现两个集合的并集、交集、差集、显示输出等,要求结果集合中的元素不重复;实现一个集合的幂集的求解。

    用顺序表完成2个集合的交集与并集以及各个集合的情况

    1.有序顺序表的元素按照从小到大有序存储; 2.实现有序顺序表的类模板,它的操作如下: ...3.用有序顺序表表示集合,实现两个有序顺序表的并和交(并和交仍是有序顺序表)并分析它们的时间复杂度;

    1集合的概念--集合与元素.doc

    在实际应用中,我们需要根据这些特性来判断是否能确定一个集合,例如,所有很大的实数无法构成集合,因为"很大"的标准不明确。同样,好心的人也不能构成集合,因为"好心"的判断标准难以量化。至于1,2,2,3,4,5,由于...

    Java取得两个数组中不同的元素

    该源代码很好地体现了数组与List之间的转换,同时也体现了两个集合的合并操作

    N个集合求交集C语言代码

    `interset()`函数接收两个链表的头结点,并返回一个新的链表,该链表表示这两个集合的交集。具体实现是:遍历第一个链表中的所有元素,对于每一个元素,在第二个链表中查找是否存在相同的元素。如果存在,则将该...

Global site tag (gtag.js) - Google Analytics