1class Solution {2public int[] relativeSortArray(int[] arr1, int[] arr2) {3Map<Integer, Integer> map = new TreeMap();4for (int i = 0; i < arr1.length; i++) {5if (map.containsKey(arr1[i])) {6map.replace(arr1[i], map.get(arr1[i]), map.get(arr1[i]) + 1);7} else {8map.put(arr1[i], 1);9}10}1112int[] arr = new int[arr1.length];13int ind = 0;14for (int i = 0; i < arr2.length; i++) {1516for (int j = 0; j < map.get(arr2[i]); j++) {17arr[ind] = arr2[i];18ind++;19}20map.remove(arr2[i]);21}2223for (int i : map.keySet()) {2425for (int j = 0; j < map.get(i); j++) {26arr[ind] = i;27ind++;28}29}3031return arr;32}33}