У меня есть список типов List<Iterable<Object>>
, и в некоторых случаях объекты, находящиеся внутри коллекции, также являются Comparable
.Сортировка списка типов `List <Iterable <Object>>`
Это означает, что в некоторых случаях это список, содержащий множество объектов типа A, который не является Comparable
, а в некоторых других случаях он содержит много объектов типа B, которые являются Comparable
. Когда у меня есть список объектов типа B, я хочу иметь возможность сортировать их.
Когда все объекты в списке Comparable
Мне нужно отсортировать их, используя Collections.sort()
или что-то подобное. Java не позволяет мне отображать весь список, и я не могу использовать отдельные элементы, потому что они могут не реализовывать интерфейс Comparable
. Есть ли работа?
Если это полезно, это мой код:
Iterable<Object> iterable;
List<Iterable<Object>> valori = new ArrayList<Iterable<Object>>();
Integer valoriLetti = 0;
iterable = new ArrayList<Object>();
while (iterable != null && valoriLetti < numero) {
// Object object = beanReader.read();
try {
iterable = (Iterable<Object>) beanReader.read();
} catch (InvalidRecordException ex) {
log.error(this.toString());
log.error(ex);
log.error(ex.getStackTrace());
}
if (iterable != null) {
((IEntityAmount) iterable).moltiplicaImporti();
((IEntityAmount) iterable).troncaImporti();
valori.add(iterable);
valoriLetti += 1;
// if (iterable.iterator().hasNext()) {
// valori.add(leggiValori(iterable));
// valoriLetti += 1;
// }
} else {
break;
}
}
Как вы хотите, чтобы ваши объекты сортируются? – Keppil
Нет никакого способа, чтобы это даже имело смысл, если все элементы не сопоставимы. Что вы _actually_ пытаетесь сделать? Если бы мы знали, каков ваш реальный случай использования, мы могли бы помочь вам разобраться в чем-то, что имеет смысл. –
@ LouisWasserman жаль, что я сам не объяснил. В некоторых случаях List содержит много объектов типа A, которые не являются сопоставимыми. В других случаях List содержит много объектов типа B, которые сравниваются. –