java

En este artículo, te mostraremos como hacer un bucle de una List a un Map con una nueva declaración de java 8 ForEach.

1  ForEach y Map.

1.1  Forma normal de recorrer un Map.

Map<String, Integer> items = new HashMap<>();
items.put("A", 1);
items.put("B", 2);
items.put("C", 3);
items.put("D", 4);
items.put("E", 5);
items.put("F", 6);

for (Map.Entry<String, Integer> entry : items.entrySet()) {
  System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());
}

1.2  Recorrer un Map con la expresión ForEach + lambda.

Map<String, Integer> items = new HashMap<>();
  items.put("A", 1);
  items.put("B", 2);
  items.put("C", 3);
  items.put("D", 4);
  items.put("E", 5);
  items.put("F", 6);
  
  items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));
  
  items.forEach((k,v)->{
    System.out.println("Item : " + k + " Count : " + v);
    if("D".equals(k)){
      System.out.println("Hola indice D");
    }
  });

2. ForEach y List.

2.1  Forma normal for-loop para repetir una lista.

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

for(String item : items){
  System.out.println("Item: "+ item);
}

2.2 Se puede hacer un bucle en una lista con la expresión ForEach + lambda o referencia de método.

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

//lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item));
  
//Output : C
items.forEach(item->{
  if("C".equals(item)){
    System.out.println(item);
  }
});
  
//method reference
//Output : A,B,C,D,E
items.forEach(System.out::println);

//Stream and filter
//Output : B
items.stream()
  .filter(s->s.contains("B"))
  .forEach(System.out::println);

Los usos de ForEach en Java son esenciales al momento de desarrollar con Java EE, y cada día Java te ofrece diferentes métodos para que puedas utilizarlas en tus proyectos.

Dejar respuesta

Please enter your comment!
Please enter your name here