La situation est que je dois itérer sur un ensemble ayant une taille de 5000 éléments. Actuellement, j'utilise une boucle normale avec itérateur.Meilleure façon de parcourir un ensemble en Java
for (Iterator iterator = allValues.iterator(); iterator.hasNext();) {
ListMetadataElem element = (ListMetadataElem) iterator.next();
NameValueObject value = new NameValueObject();
value.setId(element.getListMetadataElemSeqId().toString());
value.setValue(element.getListMetadataElemNm());
abstractVO.getAllListMetadataElems().add(value);
}
La question est la prendre trop de temps pour itérer comme 6-7 secondes et je dois appeler plusieurs fois la même boucle.
Donnez une chance à ** Java 8 flux parallèle ** –
Êtes-vous sûr que c'est l'itération qui prend le temps? 5000 éléments ne devraient prendre presque rien –
Je n'utilise pas beaucoup Java, mais en Python, je m'attendrais à ce que l'itération sur un ensemble de '5000' éléments soit très rapide, et seulement une fraction infime de 6-7 secondes. Je ne peux que supposer que ce serait rapide en Java, et probablement beaucoup plus rapide. Je suppose que c'est ce qui se passe dans * dans votre boucle *, alors que fait exactement 'abstractVO.getAllListMetadataElems()', par exemple? –