Matt23

Concat Arrays

Nov 3rd, 2016
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.20 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3.  
  4. public class Main {
  5.     public static void main(String[] args) {
  6.         int[] array1 = {65, 87, 234, 0, 344, -112, 54543, 4234, 111, 1, 666};
  7.         int[] array2 = {76, 2323, 9789, -25245, -5345, 88, 0, 111, 33, 434, 7657567, 232, -5435, 123, 678, -666};
  8.  
  9.         Arrays.sort(array1);
  10.         Arrays.sort(array2);
  11.  
  12.         int[] newArray = concatArrays(array1, array2);
  13.         for (int i : newArray)
  14.             System.out.println(i);
  15.     }
  16.  
  17.     private static int[] concatArrays(int[] a, int[] b) {
  18.         ArrayList<Integer> list = new ArrayList<>();
  19.  
  20.         int i = 0;
  21.         int j = 0;
  22.  
  23.         while (i < a.length && j < b.length) {
  24.             if (a[i] <= b[j]) {
  25.                 list.add(a[i]);
  26.                 i++;
  27.             }
  28.             else {
  29.                 list.add(b[j]);
  30.                 j++;
  31.             }
  32.         }
  33.  
  34.         if (i == a.length)
  35.             for (int k = j; k < b.length; k++)
  36.                 list.add(b[k]);
  37.  
  38.         if (j == b.length)
  39.             for (int k = i; k < a.length; k++)
  40.                 list.add(a[k]);
  41.  
  42.         return list.stream().mapToInt(Integer::valueOf).toArray();
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment