JavaTuples中的LabelValue类

A. 标签值 是来自 Java元组 只处理两个元素的库—标签和值。因为这个LabelValue是一个泛型类,所以它可以包含任何类型的值。

null

由于LabelValue是一个元组,因此它还具有JavaTuple的所有特征:

  • 他们是 类型安全
  • 他们是 不变的
  • 他们是 可迭代的
  • 他们是 可序列化
  • 他们是 可比较的 (实现可比较的
  • 他们实施 等于 hashCode()
  • 他们还实施 toString()

类别声明

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

类层次结构

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

创建LabelValue元组

  • 来自构造函数 : 语法 :
LabelValue<A, B> kv = new LabelValue<A, B>(value1, value2);
  • 实例 :

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 ),
"GeeksforGeeks" );
System.out.println(kv);
}
}


输出:

[1, GeeksforGeeks]
  • 使用with()方法 :with()方法是JavaTuples库提供的一个函数,用于用这些值实例化对象。 语法 :
LabelValue<type1, type2> kv = LabelValue.with(value1, value2);
  • 实例 :

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 ), "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

// 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( "GeeksforGeeks" );
list.add( "A computer portal" );
LabelValue<String, String> kv
= LabelValue.fromCollection(list);
// Creating LabelValue from Array
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

// 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 ), "GeeksforGeeks" );
System.out.println(kv.getLabel());
}
}


输出:

1
  • getValue() : 语法 :
LabelValue<type1, type2> kv =     new LabelValue<type1, type2>(value1, value2);type2 val1 = kv.getValue();
  • 实例 :

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 ), "GeeksforGeeks" );
System.out.println(kv.getValue());
}
}


输出:

GeeksforGeeks

设置LabelValue值

由于元组是不可变的,这意味着不可能修改索引中的值。因此,JavaTuples提供了setLabel(value)和setValue(value),它们根据使用的方法使用新值创建LabelValue的副本,并返回一个新的LabelValue对象。

  • setLabel() : 语法 :
LabelValue<type1, type2> kv =     new LabelValue<type1, type2>(value1, value2);LabelValue<type1, type2> kvNew = kv.setLabel(valueNew);
  • 实例 :

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 ), "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

// 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 ), "GeeksforGeeks" );
LabelValue<Integer, String> otherLabelValue
= kv.setValue( "A computer science portal" );
System.out.println(otherLabelValue);
}
}


输出:

[1, A computer science portal]

在LabelValue中搜索

可以使用预定义的方法在元组中搜索元素 包含() 。它返回一个布尔值,无论该值是否存在。

语法 :

LabelValue<type1, type2> kv =     new LabelValue<type1, type2>(value1, value2);boolean res = kv.contains(value2);

实例 :

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 ), "GeeksforGeeks" );
// Using contains for True result
boolean exist = kv.contains( "GeeksforGeeks" );
// Using contains for False result
boolean exist1 = kv.contains( 4 );
System.out.println(exist);
System.out.println(exist1);
}
}


输出:

truefalse

遍历LabelValue

由于LabelValue实现 Iterable 界面这意味着它们可以像集合或数组一样进行迭代。

语法 :

LabelValue<type1, type2> kv =     new LabelValue<type1, type2>(value1, value2);for (Object item : kv) {        ...}

实例 :

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 ), "GeeksforGeeks" );
for (Object item : kv)
System.out.println(item);
}
}


输出:

1GeeksforGeeks
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享