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