Гуава: Как создать явный порядок из списка и одного элемента?

В Гуаве далиCollection и элементe типаE что я знаю, находится в коллекции, яхотел бы создать кастомOrdering что-то вродеe сначала, а затем и остальная часть коллекции. Тем не менее, способ добраться туда кажется ужасно сложным:

Collection values = ImmutableList.of("apples", "oranges", "pears");
String first = "oranges";

List remainingValues = newArrayList(values);  // this
remainingValues.remove(first);                        // seems
Ordering myOrdering =                         // very
    Ordering.explicit(first, remainingValues.toArray( // complicated!
        new String[remainingValues.size()]));         // is there an easier way?

Что я'Я желаю что-то вроде этого:

Ordering.explicit(first);

(Я'хотел бы это отсортироватьfirst в начале и сохраните порядок всех других элементов, но в документах говорится, что итоговый порядок будетClassCastException для элементов, не указанных явно.)

Или вот так:

Ordering.explicit(first, values.toArray(/* etc */));

(Но это не получится, потому чтоfirst будет дублирующим значением)

Кто-нибудь может придумать краткий способ делать то, что я хочу?

Кстати, это недолжен бытьOrdering, это также может быть обходным путем для созданияIterable в указанном порядке, но опять же, это очень сложно:

Iterable sorted = Iterables.concat(
                             ImmutableList.of(first),
                             Iterables.filter(values, not(equalTo(first))));

Ответы на вопрос(7)

Ваш ответ на вопрос