유형의 목록 정렬 어떤 유형의 목록이 List<Iterable<Object>>
이고 어떤 경우 컬렉션 내에있는 객체도 Comparable
입니다.`List <Iterable <Object>>`
즉, Comparable
이 아닌 많은 유형의 개체를 포함하는 목록 인 경우가 있으며, 다른 경우에는 Comparable
인 많은 개체 B가 포함되어있는 경우가 있습니다. 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
모든 요소를 비교할 수 없다면 이것이 의미가있을 법하지 않습니다. 너 진짜로 너 뭐하려고? 실제 사용 사례가 무엇인지 알았다면 우리가 이해할 수있는 것을 찾아내는 데 도움을 줄 수 있습니다. –
@ 루이스 와서 만 죄송합니다. 나 자신을 설명하지 못했습니다. 경우에 따라 List에는 Comparable이 아닌 많은 유형의 객체가 포함되어 있습니다. 다른 경우 List에는 Comparable 인 B 유형의 많은 오브젝트가 들어 있습니다. –