2012-07-03 8 views
1

유형의 목록 정렬 어떤 유형의 목록이 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; 
     } 
    } 
+1

당신은 어떻게할까요 당신의 개체를 분류? – Keppil

+2

모든 요소를 ​​비교할 수 없다면 이것이 의미가있을 법하지 않습니다. 너 진짜로 너 뭐하려고? 실제 사용 사례가 무엇인지 알았다면 우리가 이해할 수있는 것을 찾아내는 데 도움을 줄 수 있습니다. –

+0

@ 루이스 와서 만 죄송합니다. 나 자신을 설명하지 못했습니다. 경우에 따라 List에는 Comparable이 아닌 많은 유형의 객체가 포함되어 있습니다. 다른 경우 List에는 Comparable 인 B 유형의 많은 오브젝트가 들어 있습니다. –

답변

관련 문제