Achei que tava um pouco lento, primeiro pensei que era minha maquina, depois fui ver o tempo de excecução de cada um, e o forEach do Java 8 é bem mais lento do que o for tradicional, o que fazer?
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Exercicio {
public static void main(String[] args) {
Map<Integer, String> pessoas = new HashMap<>();
pessoas.put(21, "Leonardo Cordeiro");
pessoas.put(27, "Fabio Pimentel");
pessoas.put(19, "Silvio Mattos");
pessoas.put(23, "Romulo Henrique");
long ini = System.currentTimeMillis();
for (Integer key : pessoas.keySet()) {
System.out.println(key +" - "+ pessoas.get(key));
}
long finish = System.currentTimeMillis();
System.out.println(finish - ini);
ini = System.currentTimeMillis();
pessoas.keySet().forEach(idade -> {
System.out.println(idade +" - "+ pessoas.get(idade));
});
finish = System.currentTimeMillis();
System.out.println(finish - ini);
}
}
Saida
19 - Silvio Mattos
21 - Leonardo Cordeiro
23 - Romulo Henrique
27 - Fabio Pimentel
Tempo : 4
19 - Silvio Mattos
21 - Leonardo Cordeiro
23 - Romulo Henrique
27 - Fabio Pimentel
Tempo : 743
outro teste...
19 - Silvio Mattos
21 - Leonardo Cordeiro
23 - Romulo Henrique
27 - Fabio Pimentel
Tempo : 1
19 - Silvio Mattos
21 - Leonardo Cordeiro
23 - Romulo Henrique
27 - Fabio Pimentel
Tempo : 189