Un KeyValue es una tupla de la biblioteca JavaTuples que se ocupa de solo 2 elementos: una clave y un valor. Dado que KeyValue es una clase genérica, puede contener cualquier tipo de valor.
Dado que KeyValue es una Tupla, también tiene todas las características de JavaTuples:
- Son seguros para tipos
- son inmutables
- son iterables
- son serializables
- They are Comparable (implementa Comparable<Tuple>)
- Implementan equals() y hashCode()
- También implementan toString()
Declaración de clase
public final class KeyValue<A, B> extends Tuple implements IValueKey<A>, IValueValue<B>
Jerarquía de clases
Object ↳ org.javatuples.Tuple ↳ org.javatuples.KeyValue<A, B>
Creación de una tupla de valor clave
- Del Constructor :
Sintaxis :
KeyValue<A, B> kv = new KeyValue<A, B>(value1, value2);
Ejemplo :
Java
// Below is a Java program to create // a KeyValue tuple from Constructor 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); } }
Producción:
[1, GeeksforGeeks]
- Uso del método with() : El método with() es una función proporcionada por la biblioteca JavaTuples, para instanciar el objeto con dichos valores.
Sintaxis :
KeyValue<type1, type2> kv = KeyValue.with(value1, value2);
Ejemplo :
Java
// Below is a Java program to create // a KeyValue tuple from with() method 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); } }
Producción:
[1, GeeksforGeeks]
- De otras colecciones : el método fromCollection() se usa para crear una tupla a partir de una colección, y el método fromArray() se usa para crear a partir de una array. La colección/array debe tener el mismo tipo que la tupla y el número de valores de la colección/array debe coincidir con la clase de tupla.
Sintaxis :
KeyValue<type1, type2> kv = KeyValue.fromCollection(collectionWith_2_value); KeyValue<type1, type2> kv = KeyValue.fromArray(arrayWith_2_value);
Ejemplo :
Java
// Below is a Java program to create // a KeyValue tuple from Collection import java.util.*; import org.javatuples.KeyValue; class GfG { public static void main(String[] args) { // Creating KeyValue from List List<String> list = new ArrayList<String>(); list.add("GeeksforGeeks"); list.add("A computer portal"); KeyValue<String, String> kv = KeyValue.fromCollection(list); // Creating KeyValue from Array String[] arr = { "GeeksforGeeks", "A computer portal" }; KeyValue<String, String> otherKeyValue = KeyValue.fromArray(arr); System.out.println(kv); System.out.println(otherKeyValue); } }
Producción:
[GeeksforGeeks, A computer portal] [GeeksforGeeks, A computer portal]
Obtener valor
Los métodos getValue() y getKey() se pueden usar para obtener el valor y la clave, respectivamente, en una tupla KeyValue.
- getKey() :
Sintaxis :
KeyValue<type1, type2> kv = new KeyValue<type1, type2>(value1, value2); type2 val1 = kv.getKey();
Ejemplo :
Java
// Below is a Java program to get // a KeyValue value 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()); } }
Producción:
1
- getValue() :
Sintaxis :
KeyValue<type1, type2> kv = new KeyValue<type1, type2>(value1, value2); type2 val1 = kv.getValue();
Ejemplo :
Java
// Below is a Java program to get // a KeyValue value 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()); } }
Producción:
GeeksforGeeks
Configuración del valor de KeyValue
- setKey() :
Sintaxis :
KeyValue<type1, type2> kv = new KeyValue<type1, type2>(value1, value2); KeyValue<type1, type2> kvNew = kv.setKey(valueNew);
Ejemplo :
Java
// Below is a Java program to set // a KeyValue Key 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); } }
Producción:
[10, GeeksforGeeks]
- setValue() :
Sintaxis :
KeyValue<type1, type2> kv = new KeyValue<type1, type2>(value1, value2); KeyValue<type1, type2> kvNew = kv.setValue(valueNew);
Ejemplo :
Java
// Below is a Java program to set // a KeyValue Value 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); } }
Producción:
[1, A computer science portal]
Buscando en KeyValue
contiene()
Sintaxis:
KeyValue<type1, type2> kv = new KeyValue<type1, type2>(value1, value2); boolean res = kv.contains(value2);
Ejemplo
Java
// Below is a Java program to search // a value 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"); // 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); } }
true false
Iterando a través de KeyValue
Iterable<Objeto>
Sintaxis:
KeyValue<type1, type2> kv = new KeyValue<type1, type2>(value1, value2); for (Object item : kv) { ... }
Ejemplo
Java
// Below is a Java program to iterate // a 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); } }
Producción:
1 GeeksforGeeks
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA