Leetcode349-HashSet常用方法以及遍歷方式
阿新 • • 發佈:2022-04-02
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)); } }