2012-07-03 5 views
1

У меня есть список типов 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; 
     } 
    } 
+1

Как вы хотите, чтобы ваши объекты сортируются? – Keppil

+2

Нет никакого способа, чтобы это даже имело смысл, если все элементы не сопоставимы. Что вы _actually_ пытаетесь сделать? Если бы мы знали, каков ваш реальный случай использования, мы могли бы помочь вам разобраться в чем-то, что имеет смысл. –

+0

@ LouisWasserman жаль, что я сам не объяснил. В некоторых случаях List содержит много объектов типа A, которые не являются сопоставимыми. В других случаях List содержит много объектов типа B, которые сравниваются. –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^