Je voudrais demander: comment convertir une Collection
en une List
en Java?
Si vous avez déjà créé une instance de votre sous-type de liste (par exemple, ArrayList, LinkedList), vous pouvez utiliser la méthode addAll.
par exemple.,
l.addAll(myCollection)
De nombreux sous-types de liste peuvent également prendre la collection source dans leur constructeur.
Collection<MyObjectType> myCollection = ...;
List<MyObjectType> list = new ArrayList<MyObjectType>(myCollection);
Voir le Parcours des collections dans les Tutoriels Java .
List list;
if (collection instanceof List)
{
list = (List)collection;
}
else
{
list = new ArrayList(collection);
}
Créez une nouvelle liste et appelez addAll
avec la collection.
Merci à Sandeep de l’avoir mise. Nous venons d’ajouter un contrôle nul pour éviter NullPointerException dans une autre instruction.
if(collection==null){
return Collections.emptyList();
}
List list;
if (collection instanceof List){
list = (List)collection;
}else{
list = new ArrayList(collection);
}
vous pouvez utiliser l'une des 2 solutions .. mais demandez-vous s'il est nécessaire de cloner vos collections, car les deux collections contiendront les mêmes références d'objets