La conversione di un TreeSet a ArrayList?

Ho un TreeSet che contiene > 100k oggetti.
Ho un altro metodo che richiede ArrayList come param.

C’è un modo per raggiungere questo obiettivo senza scorrere tutta la TreeSet e quindi l’aggiunta di ogni oggetto manualmente a ArrayList ?

  • È possibile rilassarsi la firma del metodo per ricevere una mera Collezione? In questo modo non la copia è necessario.
InformationsquelleAutor priyank | 2012-02-17

 

2 Replies
  1. 54

    Come questo:

    new ArrayList<T>(set);
    • Questo è il migliore che si sta andando ad ottenere. Non c’è soluzione che non richiede tempo lineare.
  2. 5

    ArrayList è una comodità metodo addAll che si inserisce il disegno di legge piacevolmente:

    final Set<Object> set = ...
    List<Object> list = new ArrayList<Object>(someBigNum);
    list.addAll(set);
    • someBigNum possono essere fissati.size()
    • someBigNum è molto fuorviante qui… non c’È bisogno di un grande num. Hai solo bisogno di impostare.size() come kuldeep sottolineato

Lascia un commento