Учебники по Java

Ява ГЛАВНАЯ Введение в Java Начало работы с Java Синтаксис Java Java-комментарии Java-переменные Типы данных Java Приведение типов Java Операторы Java Java-строки Java-математика Логические значения Java Java, если...иначе Java-переключатель Java-цикл во время выполнения Java для цикла Перерыв/продолжение Java Массивы Java

Java-методы

Java-методы Параметры метода Java Перегрузка метода Java Область применения Java Java-рекурсия

Java-классы

Java ООП Классы/объекты Java Атрибуты класса Java Методы класса Java Конструкторы Java Модификаторы Java Инкапсуляция Java Java-пакеты/API Наследование Java Java-полиморфизм Внутренние классы Java Java-абстракция Java-интерфейс Перечисления Java Пользовательский ввод Java Дата Java Список массивов Java Связанный список Java Java HashMap Набор хэшей для Java Java-итератор Классы-оболочки Java Исключения Java Java регулярное выражение Java-потоки Java-лямбда

Обработка файлов Java

Java-файлы Создание/запись файлов Java Файлы чтения Java Java Удалить файлы

Java Как

Добавить два числа

Справочник по Java

Ключевые слова Java Строковые методы Java Java математические методы

Примеры Java

Примеры Java Компилятор Java Java-упражнения Java-викторина Java-сертификат


Java HashMap


Java HashMap

В этой ArrayListглаве вы узнали, что массивы хранят элементы в виде упорядоченной коллекции, и вы должны обращаться к ним с помощью порядкового номера ( intтипа). Однако HashMap, храните элементы в парах " ключ / значение ", и вы можете получить к ним доступ по индексу другого типа (например, a String).

Один объект используется как ключ (индекс) для другого объекта (значения). Он может хранить разные типы: Stringключи и Integerзначения или одного и того же типа, например: Stringключи и Stringзначения:

Пример

Создайте HashMapобъект с именем capitalCities , в котором будут храниться String ключи и String значения :

import java.util.HashMap; // import the HashMap class

HashMap<String, String> capitalCities = new HashMap<String, String>();

Добавить элементы

Класс HashMapимеет много полезных методов. Например, чтобы добавить в него элементы, используйте put()метод:

Пример

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap<String, String> capitalCities = new HashMap<String, String>();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}


Доступ к элементу

Чтобы получить доступ к значению в HashMap, используйте get()метод и обратитесь к его ключу:

Пример

capitalCities.get("England");


Удалить элемент

Чтобы удалить элемент, используйте remove()метод и обратитесь к ключу:

Пример

capitalCities.remove("England");

Чтобы удалить все элементы, используйте clear()метод:

Пример

capitalCities.clear();



Размер хеш-карты

Чтобы узнать, сколько элементов, используйте size()метод:

Пример

capitalCities.size();


Цикл через HashMap

Перебрать элементы a HashMapс помощью цикла for-each .

Примечание. Используйте keySet()метод, если вам нужны только ключи, и используйте values()метод, если вам нужны только значения:

Пример

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}

Пример

// Print values
for (String i : capitalCities.values()) {
  System.out.println(i);
}

Пример

// Print keys and values
for (String i : capitalCities.keySet()) {
  System.out.println("key: " + i + " value: " + capitalCities.get(i));
}


Другие типы

Ключи и значения в HashMap на самом деле являются объектами. В приведенных выше примерах мы использовали объекты типа «String». Помните, что String в Java — это объект (а не примитивный тип). Чтобы использовать другие типы, такие как int, необходимо указать эквивалентный класс-оболочку : Integer. Для других примитивных типов используйте: Booleanfor boolean, Characterfor char, Doublefor double и т. д.:

Пример

Создайте HashMapобъект с именем people , который будет хранить String ключи и Integer значения :

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {

    // Create a HashMap object called people
    HashMap<String, Integer> people = new HashMap<String, Integer>();


    // Add keys and values (Name, Age)
    people.put("John", 32);
    people.put("Steve", 30);
    people.put("Angie", 33);

    for (String i : people.keySet()) {
      System.out.println("key: " + i + " value: " + people.get(i));
    }
  }
}