How to merge two sorted arrays without duplicates in Java

1 Answer

0 votes
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

class Program {
    public static int[] merge(int[] arr1, int[] arr2) {
        Set<Integer> mergedSet = new HashSet<>();
        
        for (int num : arr1) {
            mergedSet.add(num);
        }
        for (int num : arr2) {
            mergedSet.add(num);
        }
        
        int[] mergedArray = mergedSet.stream().mapToInt(Integer::intValue).toArray();
        
        return mergedArray;
    }
    
    public static void main(String[] args) {
        int[] arr1 = new int[] {1, 2, 2, 3, 7, 7, 7, 8, 9};
        int[] arr2 = new int[] {0, 0, 4, 4, 4, 5, 6, 7, 7, 8};
        
        int[] mergedArray = merge(arr1, arr2);
  
        System.out.println(Arrays.toString(mergedArray));
    }
}



/*
run:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

*/

 



answered May 21, 2024 by avibootz

Related questions

2 answers 195 views
2 answers 158 views
1 answer 209 views
1 answer 154 views
1 answer 142 views
1 answer 196 views
1 answer 221 views
...