POO-ITBA / 2024_01

Consultas 1C 2024
0 stars 0 forks source link

Duda sobre Map.Entry<K,V> #43

Closed whatisthisgit closed 1 month ago

whatisthisgit commented 1 month ago

Hola, queria saber como es posible que se use Map.Entry<K,V> en algunos ejercicios, como el ej 3 en el documento de repaso para el segundo parcial, de tal manera:

...

@Override
public K next() {
  while(hasNext()) {
    Map.Entry<K, V> currentEntry = iterator.next();
    if(keyPredicate.test(currentEntry.getKey())) {
      currentValue = currentEntry.getValue();
      return currentEntry.getKey();
    }
  }
  throw new NoSuchElementException();
}

...

Ya que es una interfaz. Internamente se usa AbstractMap.SimpleEntry<K, V>?

fmeola commented 1 month ago

Hola @whatisthisgit En principio no te interesa la clase que implemente esa interfaz (esa es justo una de las ventajas de trabajar con interfaces), vos sabés que vas a poder invocar a getKey y a getValue. La implementación depende del mapa. En un HashMap se usará java.util.HashMap.Node. En un TreeMap se usará java.util.TreeMap.Entry

whatisthisgit commented 1 month ago

Gracias.