zoukankan      html  css  js  c++  java
  • 找出两个数组中相同的元素

      有两个数组,需要找出这两个数组之间相同的元素。

    package cn.luxh.jpa.test;
    
    import java.util.HashSet;
    import java.util.Set;
    
    import org.junit.Test;
    
    
    public class ArrayTest {
        
        /**
         * 找出两个数组中相同的元素
         * @param array1
         * @param array2
         * @return 返回相同的元素
         */
        public Set<Integer> findSameElementIn2Arrays(Integer[] array1,Integer[] array2) {
            
            Set<Integer> sameElementSet = new HashSet<Integer>();//用来存放两个数组中相同的元素
            Set<Integer> tempSet = new HashSet<Integer>();//用来存放数组1中的元素
            
            for(int i=0;i<array1.length;i++) {
                tempSet.add(array1[i]);//把数组1中的元素放到Set中,可以去除重复的元素
            }
            
            for(int j=0;j<array2.length;j++) {
                //把数组2中的元素添加到tempSet中
                //如果tempSet中已存在相同的元素,则tempSet.add(array2[j])返回false
                if(!tempSet.add(array2[j])) {
                   //返回false,说明当前元素是两个数组中相同的元素
                    sameElementSet.add(array2[j]);
                }
            }
            return sameElementSet;
        }
        
        
        @Test
        public void testFindSameElementIn2Arrays(){
            Integer[] array1 = {1,2,3,4,1,2,4,6,7,8,10,22,33};
            Integer[] array2 = {1,2,3,4,1,2,4,6,7,8,10,22,33,55,66,77,88,99};
            Set<Integer> sameElementSet = findSameElementIn2Arrays(array1,array2);
            for(Integer i : sameElementSet) {
                System.out.println(i);
            }
        }
    }
  • 相关阅读:
    ps-- 制作磨砂背景
    ps -- 证件照
    抠图--薄,透
    60后发送短信的方法
    小项目 -- 验证码.js
    小项目
    小项目 -- phone.js
    基于GDAL提取地物,并生成png,最后加载到网页上(二)
    根据范围获取影像瓦片,并生成GeoTIFF 文件《一》
    Ubuntu 10.4 +NVIDIA GTX 1070 显卡驱动更新
  • 原文地址:https://www.cnblogs.com/luxh/p/2696626.html
Copyright © 2011-2022 走看看