Leetcode349-HashSet常用方法以及遍历方式

HashSet常用方法以及遍历方式

常用方法

  • set.contains()
  • set.add()
  • Iterator iterator =set.iterator();

​ 遍历方式

  • 增强for循环
  • iterator.hasNext()/iterator.next()

Leetcode349

  • 给定两个数组 nums1nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序
  • 输入: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));
    }
}

posted @ 2022-04-02 10:36  fao99  阅读(93)  评论(0)    收藏  举报