У меня есть два массива строк, которые я пытаюсь объединить в один массив. Два массива расположены в алфавитном порядке. Я должен объединить их в алфавитном порядке. Я попытался сделать это, создав комбинированный список в виде первого списка, за которым следует второй список, а затем отсортировать их. К сожалению, мой инструктор моего класса говорит, что они хотят, чтобы я объединил и отсортировал их за один шаг, используя метод compareTo. Ниже мой код, как мне это сделать? Первые два массива представляют собой введенные пользователем значения в алфавитном порядке до 10 000 слов, а остальные — нулевые, например:
list1 = {"Альфред", "Бев", "Карл", "Дэн", null и т. д.)
list2 = {"Боб", "Крейг", "Дин", "Фрэн", ноль и т. д.)
list3 гол: {"Альфред", "Бев", "Боб", "Карл", Крейг, "Дэн", "Дин", "Фрэн"}
for (int b = 0; b < list3.length; b++)//adds list1 to merged array
{
if (list1[b] != null) {
list3[b] = list1[b];
f++;
}
}
int x = 0;
for (int y = f; y < list3.length; y++)//adds list2 to merged array
{
if (list2[x] != null) {
list3[y] = list2[x];
x++;
}
}
for (int q = 0; q < list3.length; q++)//Merged array in alphabetical order
{
if (list3[q] != null) {
for (int b = q; b < list3.length; b++) {
if (list3[b] != null) {
if (list3[q].compareTo(list3[b]) > 0) {
String s = list3[q];
list3[q] = list3[b];
list3[b] = s;
}
}
}
}
}
Я впервые использую Stack Exchange, поэтому, надеюсь, все отформатировано правильно! Извините за любые ошибки.