2014-02-04 4 views
-1

Следующий метод получает два списка целых объектов массива и логическое значение, указывающее порядок сортировки (по возрастанию, если true, нисходящий, если false) и возвращает список массивов со всеми элементами из обоих массивы отсортированы. Я знаю, как сортировать список отдельных массивов с помощью массива Arrays.sort (array), но я теряюсь на том, как объединить список двух массивов.Сортировка массиваList в порядке возрастания и убывания

public static ArrayList<Integer> getSorted(ArrayList<Integer> FIRST, 
      ArrayList<Integer> SECOND, boolean ascendingly){ 
+6

Почему вы не 'addAll' из одного списка в другой? –

+0

Являются ли массивы уже отсортированными? –

+0

нет, они не отсортированы – user3093685

ответ

2

Подсказка для решения проблемы.

  1. Вы можете объединить два arraylist в один либо путем добавления их к временному, либо добавить два в одном.
  2. сейчас звоните Arrays.sort метод сортировки списка.
+0

Спасибо за подсказку! – user3093685

+0

ой жаль .. мой плохой :) .. спасибо – stinepike

1

для массива вы всегда можете использовать Arrays.sort()

И, если вы хотите коллекции должны быть отсортированы вы можете использовать

Collections.sort(listName); 

для возрастающего порядка, и

Collections.sort(listName, Collections.reverseOrder()); 

по убыванию

Всего 1 Подсказка

Надеюсь, это поможет! Удачи!

0

Коллекции могут быть полезны для этого случая.
, такие как:

ArrayList<Integer> newList=new ArrayList<Integer>() 
if(first not null && first.size() > 0){ 
    newList.addAll(first) 
} 
//so does second list 
... 
newList.AddAll(second) 

if(newList.size>1){ 
    if(order){ 
    Collections.sort(newList) 
    }else{ 
    Collections.reverse(newList) 
    } 
} 
return newList 
Смежные вопросы