J'ai un List<SomeBean>
qui est alimenté à partir d'un service Web. Je veux copier/cloner le contenu de cette liste dans une liste vide du même type. Une recherche sur Google pour copier une liste m'a suggéré d'utiliser Collections.copy()
méthode. Dans tous les exemples que j'ai vus, la liste de destination était censée contenir le nombre exact d'éléments pour que la copie ait lieu.
Comme la liste que j'utilise est alimentée par un service web et qu'elle contient des centaines d'objets, je ne peux pas utiliser la technique ci-dessus. Ou bien je l'utilise mal ??! Quoi qu'il en soit, pour que cela fonctionne, j'ai essayé de faire quelque chose comme ceci, mais j'ai toujours un message d'erreur IndexOutOfBoundsException
.
List<SomeBean> wsList = app.allInOne(template);
List<SomeBean> wsListCopy=new ArrayList<SomeBean>(wsList.size());
Collections.copy(wsListCopy,wsList);
System.out.println(wsListCopy.size());
J'ai essayé d'utiliser le wsListCopy=wsList.subList(0, wsList.size())
mais j'ai obtenu un ConcurrentAccessException
plus tard dans le code. Un coup d'essai :)
Quoi qu'il en soit, ma question est simple, comment puis-je copier l'intégralité du contenu de ma liste dans une autre liste ? Pas par itération, bien sûr.