Рубрики

Класс KeyValue в JavaTuples

KeyValue — это библиотека Tuple из JavaTuples, которая имеет дело только с 2 элементами — ключом и значением. Так как это KeyValue является универсальным классом, он может содержать любой тип значения в нем.

Поскольку KeyValue является Tuple, следовательно, он также обладает всеми характеристиками JavaTuples:

  • Они типичны
  • Они неизменны
  • Они повторяемы
  • Они сериализуемы
  • Они сопоставимы (реализует Comparable <Tuple>)
  • Они реализуют equals () и hashCode ()
  • Они также реализуют toString ()

Декларация класса

public final class KeyValue<A, B> extends Tuple 
           implements IValueKey<A&gt, IValueValue&ltB>

Иерархия классов

Object
  ↳ org.javatuples.Tuple
      ↳ org.javatuples.KeyValue<A, B>

Создание KeyValue Tuple

  • От конструктора :

    Синтаксис :

    KeyValue<A, B> kv = new KeyValue<A, B>(value1, value2);
    

    Пример :

    // Ниже приведена Java-программа для создания
    // кортеж KeyValue из конструктора

      

    import java.util.*;

    import org.javatuples.KeyValue;

      

    class GfG {

        public static void main(String[] args)

        {

            KeyValue<Integer, String> kv

                = new KeyValue<Integer, String>(Integer.valueOf(1), "GeeksforGeeks");

      

            System.out.println(kv);

        }

    }

    Выход:

    [1, GeeksforGeeks]
    
  • Использование метода with () : метод with () — это функция, предоставляемая библиотекой JavaTuples, для создания экземпляра объекта с такими значениями.

    Синтаксис :

    KeyValue<type1, type2> kv = KeyValue.with(value1, value2);
    

    Пример :

    // Ниже приведена Java-программа для создания
    // кортеж KeyValue из метода with ()

      

    import java.util.*;

    import org.javatuples.KeyValue;

      

    class GfG {

        public static void main(String[] args)

        {

            KeyValue<Integer, String> kv

                = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

      

            System.out.println(kv);

        }

    }

    Выход:

    [1, GeeksforGeeks]
    
  • Из других коллекций : метод fromCollection () используется для создания кортежа из коллекции, а метод fromArray () — для создания из массива. Коллекция / массив должны иметь тот же тип, что и кортеж, а число значений в коллекции / массиве должно соответствовать классу кортежа.

    Синтаксис :

    KeyValue<type1, type2> kv = KeyValue.fromCollection(collectionWith_2_value);
    KeyValue<type1, type2> kv = KeyValue.fromArray(arrayWith_2_value);
    

    Пример :

    // Ниже приведена Java-программа для создания
    // кортеж KeyValue из коллекции

      

    import java.util.*;

    import org.javatuples.KeyValue;

      

    class GfG {

        public static void main(String[] args)

        {

            // Создание KeyValue из списка

            List<String> list = new ArrayList<String>();

            list.add("GeeksforGeeks");

            list.add("A computer portal");

            KeyValue<String, String> kv

                = KeyValue.fromCollection(list);

      

            // Создание KeyValue из массива

            String[] arr = { "GeeksforGeeks", "A computer portal" };

            KeyValue<String, String> otherKeyValue

                = KeyValue.fromArray(arr);

      

            System.out.println(kv);

            System.out.println(otherKeyValue);

        }

    }

    Выход:

    [GeeksforGeeks, A computer portal]
    [GeeksforGeeks, A computer portal]
    

Получение ценности

Методы getValue () и getKey () могут использоваться для извлечения значения и ключа соответственно в кортеже KeyValue.

  • getKey () :

    Синтаксис :

    KeyValue<type1, type2> kv = 
        new KeyValue<type1, type2>(value1, value2);
    
    type2 val1 = kv.getKey();
    

    Пример :

    // Ниже приведена Java-программа для получения
    // значение KeyValue

      

    import java.util.*;

    import org.javatuples.KeyValue;

      

    class GfG {

        public static void main(String[] args)

        {

            KeyValue<Integer, String> kv

                = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

      

            System.out.println(kv.getKey());

        }

    }

    Выход:

    1
    
  • getValue () :

    Синтаксис :

    KeyValue<type1, type2> kv = 
        new KeyValue<type1, type2>(value1, value2);
    
    type2 val1 = kv.getValue();
    

    Пример :

    // Ниже приведена Java-программа для получения
    // значение KeyValue

      

    import java.util.*;

    import org.javatuples.KeyValue;

      

    class GfG {

        public static void main(String[] args)

        {

            KeyValue<Integer, String> kv

                = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

      

            System.out.println(kv.getValue());

        }

    }

    Выход:

    GeeksforGeeks
    
  • Установка значения KeyValue

    Поскольку кортежи являются неизменяемыми, это означает, что изменение значения в индексе невозможно. Следовательно, JavaTuples предлагают setKey (значение) и setValue (значение), которые создают копию KeyValue с новым значением в соответствии с используемым методом и возвращают новый объект KeyValue.

    • setKey () :

      Синтаксис :

      KeyValue<type1, type2> kv = 
          new KeyValue<type1, type2>(value1, value2);
      
      KeyValue<type1, type2> kvNew = kv.setKey(valueNew);
      

      Пример :

      // Ниже приведена Java-программа для установки
      // ключ KeyValue

        

      import java.util.*;

      import org.javatuples.KeyValue;

        

      class GfG {

          public static void main(String[] args)

          {

              KeyValue<Integer, String> kv

                  = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

        

              KeyValue<Integer, String> otherKeyValue

                  = kv.setKey(10);

        

              System.out.println(otherKeyValue);

          }

      }

      Выход:

      [10, GeeksforGeeks]
      
    • setValue () :

      Синтаксис :

      KeyValue<type1, type2> kv = 
          new KeyValue<type1, type2>(value1, value2);
      
      KeyValue<type1, type2> kvNew = kv.setValue(valueNew);
      

      Пример :

      // Ниже приведена Java-программа для установки
      // значение KeyValue

        

      import java.util.*;

      import org.javatuples.KeyValue;

        

      class GfG {

          public static void main(String[] args)

          {

              KeyValue<Integer, String> kv

                  = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

        

              KeyValue<Integer, String> otherKeyValue

                  = kv.setValue("A computer science portal");

        

              System.out.println(otherKeyValue);

          }

      }

      Выход:

      [1, A computer science portal]
      

    Поиск в KeyValue

    Элемент может быть найден в кортеже с помощью предопределенного метода contains () . Возвращает логическое значение, независимо от того, присутствует это значение или нет.

    Синтаксис :

KeyValue<type1, type2> kv = 
    new KeyValue<type1, type2>(value1, value2);

boolean res = kv.contains(value2);

Пример :

// Ниже приведена Java-программа для поиска
// ценность

  

import java.util.*;

import org.javatuples.KeyValue;

  

class GfG {

    public static void main(String[] args)

    {

        KeyValue<Integer, String> kv

            = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

  

        // Использование содержимого для истинного результата

        boolean exist = kv.contains("GeeksforGeeks");

  

        // Использование содержимого для ложного результата

        boolean exist1 = kv.contains(4);

  

        System.out.println(exist);

        System.out.println(exist1);

    }

}

Выход:

true
false

Итерация по KeyValue

Поскольку KeyValue реализует интерфейс Iterable <Object> . Это означает, что они могут повторяться так же, как коллекции или массивы.

Синтаксис :

KeyValue<type1, type2> kv = 
    new KeyValue<type1, type2>(value1, value2);

for (Object item : kv) {
        ...
}

Пример :

// Ниже приведена Java-программа для итерации
// KeyValue

  

import java.util.*;

import org.javatuples.KeyValue;

  

class GfG {

    public static void main(String[] args)

    {

        KeyValue<Integer, String> kv

            = KeyValue.with(Integer.valueOf(1), "GeeksforGeeks");

  

        for (Object item : kv)

            System.out.println(item);

    }

}

Выход:

1
GeeksforGeeks

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

Класс KeyValue в JavaTuples

0.00 (0%) 0 votes