Я пытался реализовать класс Comparator
, который должен упорядочивать список в зависимости от веса позиции. Я объясню, что я должен сделать sh.
Предположим, у меня есть ArrayList<T>
. Этот список массивов всегда имеет фиксированный размер, заполняя другой слот значениями null
.
//fixed size = 3
T myObj1, myObj2;
[myObj1, null, myObj2];
В этом примере myObj2 < myObj1
, поскольку он хранится в слоте, значение позиции которого меньше первого .
Компаратор упорядочения должен выдавать следующие выходные данные:
//fixed size = 3
T myObj1, myObj2;
[myObj1, myObj2, null];
Другие примеры:
//fixed size = 7;
T myObj1, myObj2, myObj3, myObj4;
INPUT = [myObj1, null, null, myObj4, myObj3, myObj2, null];
RESULT = [myObj1, myObj4, myObj3, myObj2, null, null, null];
Я думал об использовании Comparator<T>
(T - это спецификация c класс, он не должен быть общим на самом деле); Есть ли способ повторить такое поведение?