Thursday, October 2, 2025
HomeLanguagesJavaLabelValue Class in JavaTuples

LabelValue Class in JavaTuples

A LabelValue is a Tuple from JavaTuples library that deals with only 2 elements – a label and a value. Since this LabelValue is a generic class, it can hold any type of value in it.

Since LabelValue is a Tuple, hence it also has all the characteristics of JavaTuples: 

  • They are Typesafe
  • They are Immutable
  • They are Iterable
  • They are Serializable
  • They are Comparable (implements Comparable<Tuple>)
  • They implement equals() and hashCode()
  • They also implement toString()

Class Declaration

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

Class hierarchy 

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

Creating LabelValue Tuple 

  • From Constructor:
    Syntax
LabelValue<A, B> kv = new LabelValue<A, B>(value1, value2);
  • Example

Java




// Below is a Java program to create
// a LabelValue tuple from Constructor
 
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),
                                              "Lazyroar");
 
        System.out.println(kv);
    }
}


Output: 

[1, Lazyroar]
  • Using with() method: The with() method is a function provided by the JavaTuples library, to instantiate the object with such values.
    Syntax
LabelValue<type1, type2> kv = LabelValue.with(value1, value2);
  • Example

Java




// Below is a Java program to create
// a LabelValue tuple from with() method
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        LabelValue<Integer, String> kv
            = LabelValue.with(Integer.valueOf(1), "Lazyroar");
 
        System.out.println(kv);
    }
}


Output: 

[1, Lazyroar]
  • From other collections: The fromCollection() method is used to create a Tuple from a collection, and fromArray() method is used to create from an array. The collection/array must have the same type as of the Tuple and the number of values in the collection/array must match the Tuple class.
    Syntax
LabelValue<type1, type2> kv = LabelValue.fromCollection(collectionWith_2_value);
LabelValue<type1, type2> kv = LabelValue.fromArray(arrayWith_2_value);
  • Example

Java




// Below is a Java program to create
// a LabelValue tuple from Collection
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        // Creating LabelValue from List
        List<String> list = new ArrayList<String>();
        list.add("Lazyroar");
        list.add("A computer portal");
        LabelValue<String, String> kv
            = LabelValue.fromCollection(list);
 
        // Creating LabelValue from Array
        String[] arr = { "Lazyroar", "A computer portal" };
        LabelValue<String, String> otherLabelValue
            = LabelValue.fromArray(arr);
 
        System.out.println(kv);
        System.out.println(otherLabelValue);
    }
}


Output: 

[Lazyroar, A computer portal]
[Lazyroar, A computer portal]

Getting Value

The getValue() and getLabel() methods can be used to fetch the value and key respectively in a LabelValue Tuple. 

  • getLabel():
    Syntax
LabelValue<type1, type2> kv = 
    new LabelValue<type1, type2>(value1, value2);

type2 val1 = kv.getLabel();
  • Example

Java




// Below is a Java program to get
// a LabelValue value
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        LabelValue<Integer, String> kv
            = LabelValue.with(Integer.valueOf(1), "Lazyroar");
 
        System.out.println(kv.getLabel());
    }
}


Output: 

1
  • getValue():
    Syntax
LabelValue<type1, type2> kv = 
    new LabelValue<type1, type2>(value1, value2);

type2 val1 = kv.getValue();
  • Example

Java




// Below is a Java program to get
// a LabelValue value
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        LabelValue<Integer, String> kv
            = LabelValue.with(Integer.valueOf(1), "Lazyroar");
 
        System.out.println(kv.getValue());
    }
}


Output: 

Lazyroar

Setting LabelValue Value

Since the Tuples are immutable, it means that modifying a value at an index is not possible. Hence, JavaTuples offer setLabel(value) and setValue(value) which creates a copy of the LabelValue with a new value according to method used, and returns a new LabelValue object.

  • setLabel():
    Syntax
LabelValue<type1, type2> kv = 
    new LabelValue<type1, type2>(value1, value2);

LabelValue<type1, type2> kvNew = kv.setLabel(valueNew);
  • Example

Java




// Below is a Java program to set
// a LabelValue Key
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        LabelValue<Integer, String> kv
            = LabelValue.with(Integer.valueOf(1), "Lazyroar");
 
        LabelValue<Integer, String> otherLabelValue
            = kv.setLabel(10);
 
        System.out.println(otherLabelValue);
    }
}


Output: 

[10, Lazyroar]
  • setValue():
    Syntax
LabelValue<type1, type2> kv = 
    new LabelValue<type1, type2>(value1, value2);

LabelValue<type1, type2> kvNew = kv.setValue(valueNew);
  • Example

Java




// Below is a Java program to set
// a LabelValue Value
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        LabelValue<Integer, String> kv
            = LabelValue.with(Integer.valueOf(1), "Lazyroar");
 
        LabelValue<Integer, String> otherLabelValue
            = kv.setValue("A computer science portal");
 
        System.out.println(otherLabelValue);
    }
}


Output: 

[1, A computer science portal]

Searching in LabelValue

An element can be searched in a tuple with the pre-defined method contains(). It returns a boolean value whether the value is present or not.

Syntax:

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

boolean res = kv.contains(value2);


Example:

Java




// Below is a Java program to search
// a value
 
import java.util.*;
import org.javatuples.LabelValue;
 
class GfG {
    public static void main(String[] args)
    {
        LabelValue<Integer, String> kv
            = LabelValue.with(Integer.valueOf(1), "Lazyroar");
 
        // Using contains for True result
        boolean exist = kv.contains("Lazyroar");
 
        // Using contains for False result
        boolean exist1 = kv.contains(4);
 
        System.out.println(exist);
        System.out.println(exist1);
    }
}


Output:

true
false

Iterating through LabelValue

Since LabelValue implement the Iterable<Object> interface. It means that they can be iterated in the same way as collections or arrays.

Syntax:

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

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

Example:

Java




// Below is a Java program to iterate
// 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), "Lazyroar");
 
        for (Object item : kv)
            System.out.println(item);
    }
}


Output:

1
Lazyroar
RELATED ARTICLES

Most Popular

Dominic
32331 POSTS0 COMMENTS
Milvus
85 POSTS0 COMMENTS
Nango Kala
6703 POSTS0 COMMENTS
Nicole Veronica
11867 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11926 POSTS0 COMMENTS
Shaida Kate Naidoo
6818 POSTS0 COMMENTS
Ted Musemwa
7079 POSTS0 COMMENTS
Thapelo Manthata
6775 POSTS0 COMMENTS
Umr Jansen
6776 POSTS0 COMMENTS