Рубрики

Методы Hashmap в Java с примерами | Установите 2 (keySet (), values (), содержит ключ () ..)

Методы класса HashMap в Java с примерами | Установите 1 (put (), get (), isEmpty () и size ())

В этом посте обсуждаются дополнительные методы.

  • keySet (): java.util.HashMap.keySet () Возвращает представление Set ключей, содержащихся в этой карте. Набор опирается на карту, поэтому изменения в карте отражаются в наборе, и наоборот.
    Syntax:
    public Set keySet()
    Return: a set view of the keys contained in this map
    
  • values (): java.util.HashMap.values () Возвращает представление коллекции значений, содержащихся в этой карте. Коллекция поддерживается картой, поэтому изменения в карте отражаются в коллекции и наоборот.
    Syntax:
    public Collection values()
    Return: a collection view of the values contained in 
    this map
    
  • containsKey (): java.util.HashMap.containsKey () Возвращает true, если эта карта отображает один или несколько ключей на указанное значение.
    Syntax:
    public boolean containsValue(Object value)
    Parameters:
    value - value whose presence in this map is to be tested
    Return: true if this map maps one or more keys to 
    the specified value
    
  • Реализация:

    // Java-программа, иллюстрирующая использование методов класса HashMap
    // keySet (), values (), содержитKey ()

    import java.util.*;

    public class NewClass

    {

        public static void main(String args[])

        {

            // 1 Создание HashMap

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

      

            // 2 Добавление значений в HashMap as («ключи», «значения»)

            Geeks.put("Language", "Java");

            Geeks.put("Platform", "Geeks For geeks");

            Geeks.put("Code", "HashMap");

            Geeks.put("Learn", "More");

      

            // 3 Содержит методeyKey () для проверки наличия

            // конкретного ключа

            // Поскольку здесь присутствует ключ «Код», условие истинно

            if (Geeks.containsKey("Code"))

                System.out.println("Testing .containsKey : " +

                                               Geeks.get("Code"));

      

            // 4 метод keySet () возвращает все ключи в HashMap

            Set<String> Geekskeys = Geeks.keySet();

            System.out.println("Initial keys  : " + Geekskeys);

      

      

            // метод values () возвращает все значения в HashMap

            Collection<String> Geeksvalues = Geeks.values();

            System.out.println("Initial values : " + Geeksvalues);

      

            // Добавляем новый набор ключ-значение

            Geeks.put("Search", "JavaArticle");

      

            // Снова используя методы .keySet () и .values ()

            System.out.println("New Keys : " + Geekskeys);

            System.out.println("New Values: " + Geeksvalues);

        }

    }

    Выход:

Testing .containsKey : HashMap
Initial keys  : [Language, Platform, Learn, Code]
Initial values : [Java, Geeks For geeks, More, HashMap]
New Keys : [Language, Platform, Search, Learn, Code]
New Values: [Java, Geeks For geeks, JavaArticle, More, HashMap]
  • .entrySet (): java.util.HashMap.entrySet () метод возвращает полный набор ключей и значений, присутствующих в HashMap.
    Syntax:
    public Set<Map.Entry> entrySet()
    Return:
    complete set of keys and values
    
  • .getOrDefault: java.util.HashMap.getOrDefault () метод возвращает значение по умолчанию, если не найдено значение с использованием ключа, который мы передали в качестве аргумента в HashMap. Если значение ключа, если оно присутствует, уже есть в HashMap, оно ничего не изменит.
    Это очень хороший способ присвоить значения ключам, которые еще не сопоставлены, без вмешательства в уже существующий набор ключей и значений.
    Syntax:
    default V getOrDefault(Object key,V defaultValue)
    Parameters:
    key - the key whose mapped value we need to return
    defaultValue - the default for the keys present in HashMap
    Return:
    mapping the unmapped keys with the default value.
    
  • .replace (): java.util.HashMap.replace (ключ, значение) или java.util.HashMap.replace (ключ, oldvalue, newvalue) — это метод класса java.util.HashMap.
    1-й метод принимает набор ключей и значений, который заменит уже существующее значение ключа новым значением, переданным в аргументе. Если такого набора нет, метод replace () ничего не сделает.
    Между тем, 2-й метод заменит уже существующий набор key-old_value, только если ключ и old_Value найдены в HashMap.
    Syntax:
    replace(k key, v value)
              or
    replace(k key, v oldvalue, newvalue)
    Parameters:
    key      - key in set with the old value.
    value    - new value we want to be with the specified key
    oldvalue - old value in set with the specified key
    newvalue - new value we want to be with the specified key
    Return:
    True - if the value is replaced
    Null - if there is no such set present
    
  • .putIfAbsent java.util.HashMap.putIfAbsent (key, value) метод используется для вставки нового набора значений ключа в HashMap, если соответствующий набор присутствует. Нулевое значение возвращается, если такой набор значений ключей уже присутствует в HashMap.
    Syntax:
    public V putIfAbsent(key, value)
    Parameters:
    key      - key with which the specified value is associates.
    value    - value to associates with the specified key.
    
  • // Java-программа, иллюстрирующая методы класса HashMap ().
    // entrySet (), getOrDefault (), replace (), putIfAbsent

    import java.util.*;

    public class NewClass

    {

        public static void main(String args[])

        {

            // Создание HashMap

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

      

            // Добавляем значения в HashMap as ("keys", "values")

            Geeks.put("Language", "Java");

            Geeks.put("Code", "HashMap");

            Geeks.put("Learn", "More");

      

            // .entrySet () возвращает все ключи с их значениями, присутствующими в Hashmap

            Set<Map.Entry<String, String>> mappingGeeks = Geeks.entrySet();

            System.out.println("Set of Keys and Values using entrySet() : "+mappingGeeks);

            System.out.println();

      

            // Использование .getOrDefault для доступа к значению

            // Здесь он показывает значение по умолчанию в качестве ключа - «Код» уже присутствовал

            System.out.println("Using .getorDefault : " 

                                        + Geeks.getOrDefault("Code","javaArticle"));

      

            // Здесь он показывает заданное значение в качестве ключа - «Поиск» не присутствовал

            System.out.println("Using .getorDefault : "

                                        + Geeks.getOrDefault("Search","javaArticle"));

            System.out.println();

      

            // .replace () метод, заменяющий значение ключа «Learn»

            Geeks.replace("Learn", "Methods");

            System.out.println("working of .replace()     : "+mappingGeeks);

            System.out.println();

      

            / * .putIfAbsent () метод помещает новое значение ключа

                так как их изначально не было * /

            Geeks.putIfAbsent("cool", "HashMap methods");

            System.out.println("working of .putIfAbsent() : "+mappingGeeks);

      

            / * .putIfAbsent () метод ничего не делает

                в качестве ключа-значения уже присутствовали * /

            Geeks.putIfAbsent("Code", "With_JAVA");

            System.out.println("working of .putIfAbsent() : "+mappingGeeks);

      

        }

    }

    Выход:

    Set of Keys and Values using entrySet() : [Language=Java, Learn=More, Code=HashMap]
    
    Using .getorDefault : HashMap
    Using .getorDefault : javaArticle
    
    working of .replace()     : [Language=Java, Learn=Methods, Code=HashMap]
    
    working of .putIfAbsent() : [Language=Java, cool=HashMap methods, Learn=Methods, Code=HashMap]
    working of .putIfAbsent() : [Language=Java, cool=HashMap methods, Learn=Methods, Code=HashMap]
    
  • удалить (ключ объекта): Удаляет отображение для этого ключа из этой карты , если она присутствует.
  • // Java-программа, иллюстрирующая метод remove () с использованием Iterator.

      

    import java.util.*;

    public class NewClass

    {

        public static void main(String args[])

        {

            // Создание HashMap

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

      

            // Добавляем значения в HashMap as ("keys", "values")

            Geeks.put("Language", "Java");

            Geeks.put("Platform", "Geeks For geeks");

            Geeks.put("Code", "HashMap");

      

      

            // .entrySet () возвращает все ключи с их значениями, присутствующими в Hashmap

            Set<Map.Entry<String, String>> mappingGeeks = Geeks.entrySet();

            System.out.println("Set of Keys and Values : "+mappingGeeks);

            System.out.println();

      

            // Создание итератора

            System.out.println("Use of Iterator to remove the sets.");

            Iterator<Map.Entry<String, String>> geeks_iterator = Geeks.entrySet().iterator();

            while(geeks_iterator.hasNext())

            {

                Map.Entry<String, String> entry = geeks_iterator.next();

                // Удаление набора по одному с помощью итератора

                geeks_iterator.remove(); // правильный способ удалить записи с карты,

                // избегает ConcurrentModificationException

                System.out.println("Set of Keys and Values : "+mappingGeeks);

      

            }

        }

    }

    Выход:

    Set of Keys and Values : [Language=Java, Platform=Geeks For geeks, Code=HashMap]
    
    Use of Iterator to remove the sets.
    Set of Keys and Values : [Platform=Geeks For geeks, Code=HashMap]
    Set of Keys and Values : [Code=HashMap]
    Set of Keys and Values : []
    

    Преимущество:
    Если мы используем цикл for, он переводится в Iterator внутри, но без явного использования Iterator мы не можем удалить любую запись во время Iteration. При этом Iterator может выдать исключение ConcurrentModificationException. Итак, мы используем явный итератор и цикл while для перемещения.

    Ссылка:
    https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html

    Эта статья предоставлена Мохит Гупта . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

    Рекомендуемые посты:

    Методы Hashmap в Java с примерами | Установите 2 (keySet (), values (), содержит ключ () ..)

    0.00 (0%) 0 votes