Рубрики

Класс LabelValue в JavaTuples

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

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

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

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

public final class LabelValue<A, B> extends Tuple 
           implements IValueLabel<A&gt, IValueValue&ltB>

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

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

Создание LabelValue Tuple

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

    Синтаксис :

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

    Пример :

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

      

    import java.util.*;

    import org.javatuples.LabelValue;

      

    class GfG {

        public static void main(String[] args)

        {

            LabelValue<Integer, String> kv

                = new LabelValue<Integer, String>(Integer.valueOf(1),

                                                  "GeeksforGeeks");

      

            System.out.println(kv);

        }

    }

    Выход:

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

    Синтаксис :

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

    Пример :

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

      

    import java.util.*;

    import org.javatuples.LabelValue;

      

    class GfG {

        public static void main(String[] args)

        {

            LabelValue<Integer, String> kv

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

      

            System.out.println(kv);

        }

    }

    Выход:

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

    Синтаксис :

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

    Пример :

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

      

    import java.util.*;

    import org.javatuples.LabelValue;

      

    class GfG {

        public static void main(String[] args)

        {

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

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

            list.add("GeeksforGeeks");

            list.add("A computer portal");

            LabelValue<String, String> kv

                = LabelValue.fromCollection(list);

      

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

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

            LabelValue<String, String> otherLabelValue

                = LabelValue.fromArray(arr);

      

            System.out.println(kv);

            System.out.println(otherLabelValue);

        }

    }

    Выход:

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

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

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

  • getLabel () :

    Синтаксис :

    LabelValue<type1, type2> kv = 
        new LabelValue<type1, type2>(value1, value2);
    
    type2 val1 = kv.getLabel();
    

    Пример :

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

      

    import java.util.*;

    import org.javatuples.LabelValue;

      

    class GfG {

        public static void main(String[] args)

        {

            LabelValue<Integer, String> kv

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

      

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

        }

    }

    Выход:

    1
    
  • getValue () :

    Синтаксис :

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

    Пример :

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

      

    import java.util.*;

    import org.javatuples.LabelValue;

      

    class GfG {

        public static void main(String[] args)

        {

            LabelValue<Integer, String> kv

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

      

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

        }

    }

    Выход:

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

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

    • setLabel () :

      Синтаксис :

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

      Пример :

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

        

      import java.util.*;

      import org.javatuples.LabelValue;

        

      class GfG {

          public static void main(String[] args)

          {

              LabelValue<Integer, String> kv

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

        

              LabelValue<Integer, String> otherLabelValue

                  = kv.setLabel(10);

        

              System.out.println(otherLabelValue);

          }

      }

      Выход:

      [10, GeeksforGeeks]
      
    • setValue () :

      Синтаксис :

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

      Пример :

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

        

      import java.util.*;

      import org.javatuples.LabelValue;

        

      class GfG {

          public static void main(String[] args)

          {

              LabelValue<Integer, String> kv

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

        

              LabelValue<Integer, String> otherLabelValue

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

        

              System.out.println(otherLabelValue);

          }

      }

      Выход:

      [1, A computer science portal]
      

    Поиск в LabelValue

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

    Синтаксис :

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

boolean res = kv.contains(value2);

Пример :

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

  

import java.util.*;

import org.javatuples.LabelValue;

  

class GfG {

    public static void main(String[] args)

    {

        LabelValue<Integer, String> kv

            = LabelValue.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

Итерация по LabelValue

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

Синтаксис :

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

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

Пример :

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

  

import java.util.*;

import org.javatuples.LabelValue;

  

class GfG {

    public static void main(String[] args)

    {

        LabelValue<Integer, String> kv

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

  

        for (Object item : kv)

            System.out.println(item);

    }

}

Выход:

1
GeeksforGeeks

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

Класс LabelValue в JavaTuples

0.00 (0%) 0 votes