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号