В этом примере мы научимся перебирать ключи, значения и сопоставления ключ / значение Java HashMap.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Java HashMap
- Java для каждого цикла
- Интерфейс Java Iterator
В Java HashMap мы можем перебирать его ключи , значения и сопоставления ключ / значение .
Пример 1: итерации по HashMap с использованием цикла forEach
import java.util.HashMap; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // Creating a HashMap HashMap languages = new HashMap(); languages.put("Java", "Enterprise"); languages.put("Python", "ML/AI"); languages.put("JavaScript", "Frontend"); System.out.println("HashMap: " + languages); // iterating through key/value mappings System.out.print("Entries: "); for(Entry entry: languages.entrySet()) ( System.out.print(entry); System.out.print(", "); ) // iterating through keys System.out.print("Keys: "); for(String key: languages.keySet()) ( System.out.print(key); System.out.print(", "); ) // iterating through values System.out.print("Values: "); for(String value: languages.values()) ( System.out.print(value); System.out.print(", "); ) ) )
Вывод
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Записи: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Ключи: Java, JavaScript, Python, Значения: Enterprise, Frontend, ML / AI ,
В приведенном выше примере мы создали хэш-карту с именем languages. Здесь мы использовали forEach
цикл для перебора элементов хэш-карты.
Обратите внимание, что мы независимо перебираем ключи , значения и сопоставления ключ / значение .
- languages.entrySet () - возвращает установленный вид всех записей
- languages.keySet () - возвращает установленный вид всех ключей
- languages.values () - возвращает установленный вид всех значений
Примечание : мы использовали Map.Entry
класс. Это вложенный класс, который возвращает представление карты.
Пример 2: итерация по HashMap с помощью iterator ()
import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // create a HashMap HashMap languages = new HashMap(); languages.put("Java", "Enterprise"); languages.put("Python", "ML/AI"); languages.put("JavaScript", "Frontend"); System.out.println("HashMap: " + languages); // create an object of Iterator Iterator iterate1 = languages.entrySet().iterator(); // iterate through key/value mappings System.out.print("Entries: "); while(iterate1.hasNext()) ( System.out.print(iterate1.next()); System.out.print(", "); ) // iterate through keys Iterator iterate2 = languages.keySet().iterator(); System.out.print("Keys: "); while(iterate2.hasNext()) ( System.out.print(iterate2.next()); System.out.print(", "); ) // iterate through values Iterator iterate3 = languages.values().iterator(); System.out.print("Values: "); while(iterate3.hasNext()) ( System.out.print(iterate3.next()); System.out.print(", "); ) ) )
Вывод
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Записи: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Ключи: Java, JavaScript, Python, Значения: Enterprise, Frontend, ML / AI ,
В приведенном выше примере мы перебираем ключи, значения и сопоставления ключей и значений хэш-карты. Мы использовали этот iterator()
метод для перебора хэш-карты. Вот,
- hasNext () - возвращает,
true
если в хеш-карте есть следующий элемент - next () - возвращает следующий элемент хеш-карты
Примечание . Мы также можем использовать метод HashMap forEach () для перебора хэш-карты.