У меня есть два массива String:
arr1 = {"i", "b", "v", "d", "y", "z", "u", "a"}
arr2 = {"i", "b", "v", "y", "u", "z", "a"}
Я хочу создать новый массив "arr3" из "arr1" и "arr2". Хитрость в том, что если в arr2 отсутствует элемент, то я хочу оставить пустой элемент, а также сохранить тот же порядок элементов в arr2.
В моем примере:
- Элемент 'd' отсутствует в arr2, поэтому он будет arr3 [i] = ""
- Элементы 'u' и 'z 'инвертированы по сравнению с "arr1", но это не имеет значения, так как я хочу сохранить порядок "arr2"
Вот мой код:
public static void main(String[] args){
String[] arr1 = {"q", "b", "v", "d", "y", "z", "u", "a"};
String[] arr2 = {"q", "b", "v", "y", "u", "z", "a"};
String[] arr3 = new String[arr1.length];
for(int i = 0;i<arr1.length ; i++) {
if(getIndex(arr1[i], arr2) == -1)
arr3[i] = "";
else
if (i < arr2.length)
arr3[i] = arr2[i];
}
}
public static int getIndex(String element, String[] array) {
for(int i=0;i<array.length;i++) {
if(array[i].contentEquals(element))
return i;
}
return -1;
}
Вывод кода выше:
arr3 = {"q", "b", "v", "", "u", "z", "a"}
Элемент 'y' пропущен из arr2.