Leetcode349-HashSet常用方法以及遍历方式
HashSet常用方法以及遍历方式
常用方法
- set.contains()
- set.add()
- Iterator iterator =set.iterator();
 遍历方式
- 增强for循环
- iterator.hasNext()/iterator.next()
Leetcode349
- 给定两个数组 nums1和nums2,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
- 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
- 输出:[9,4]
public class L349 {
    public static int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> set1 = new HashSet<>();
        Set<Integer> reset = new HashSet<>();
        for (int i = 0; i < nums1.length; i++) {
            set1.add(nums1[i]);
        }
        for (int j = 0; j < nums2.length; j++) {
            if (set1.contains(nums2[j])) {
                reset.add(nums2[j]);
            }
        }
        int[] result = new int[reset.size()];
        //遍历方式一
//        Iterator iterator=reset.iterator();
//        for(int i=0;i<result.length;i++){
//            result[i]=(Integer)iterator.next();
//        }
        //方式一变形
//        int k = 0;
//        Iterator iterator=reset.iterator();
//        while(iterator.hasNext()){
//            result[k++]=(Integer)iterator.next();
//        }
        //遍历方式二 增强for循环
        int index = 0;
        for (Integer s : reset) {
            result[index] = s;
            index++;
        }
        return result;
    }
    public static void main(String[] args) {
        int[] int1 = {1, 2, 2, 3};
        int[] int2 = {2, 2, 2, 4};
        int[] intersection = intersection(int1, int2);
        System.out.println(Arrays.toString(intersection));
    }
}
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号