Implementare la coppia valore-chiave in Java

Mohammad Irfan 12 ottobre 2023
  1. Implementare la coppia di valori chiave utilizzando HashMap in Java
  2. Implementare la coppia valore-chiave utilizzando Map.Entry in Java
  3. Implementare la coppia di valori chiave utilizzando la classe AbstractMap.SimpleEntry in Java
  4. Implementare la coppia valore-chiave utilizzando Map.entry in Java
  5. Implementare la coppia di valori chiave utilizzando AbstractMap.SimpleImmutableEntry in Java
  6. Implementare la coppia valore-chiave utilizzando Map.immutableEntry in Java
  7. Implementare la coppia di valori chiave utilizzando la classe Properties in Java
Implementare la coppia valore-chiave in Java

Questo tutorial introduce come implementare le coppie chiave-valore in Java.

In Java, per gestire la coppia chiave-valore, vengono utilizzate l’interfaccia Map e le sue classi di implementazione. Possiamo usare classi come HashMap e TreeMap per memorizzare i dati nella coppia chiave-valore. Oltre a queste classi incorporate, possiamo creare la nostra classe che può contenere la coppia chiave-valore.

Qui useremo HashMap, classe definita dall’utente, AbstractMap, Map.entry(), AbstractMap.SimpleImmutableEntry() e Properties, ecc. Diamo uno sguardo ravvicinato agli esempi.

Implementare la coppia di valori chiave utilizzando HashMap in Java

L’interfaccia Map di Java nel framework Collection può essere utilizzata per memorizzare i dati nella coppia chiave-valore. Qui, usiamo la classe HashMap per memorizzare le coppie chiave-valore di tipo stringa. Vedi l’esempio sotto.

import java.util.HashMap;
import java.util.Map;

public class SimpleTesting extends Thread {
  public static void main(String[] args) {
    Map<String, String> map = new HashMap<>();
    map.put("name", "Rohan");
    map.put("sname", "Kumar");
    System.out.println(map);
  }
}

Produzione:

{sname=Kumar, name=Rohan}

Implementare la coppia valore-chiave utilizzando Map.Entry in Java

Qui, utilizziamo l’interfaccia Map.Entry per creare una classe personalizzata che conterrà i dati in coppie chiave-valore. Creiamo una classe, Student, con due variabili di istanza per contenere la coppia chiave e valore. Abbiamo anche creato metodi getter e setters per impostare i valori per ogni istanza di questa classe. Vedi l’esempio sotto.

import java.util.Map;
class Student<K, V> implements Map.Entry<K, V> {
  private final K key;
  private V value;

  public Student(K key, V value) {
    this.key = key;
    this.value = value;
  }
  @Override
  public K getKey() {
    return key;
  }
  @Override
  public V getValue() {
    return value;
  }
  @Override
  public V setValue(V value) {
    V old = this.value;
    this.value = value;
    return old;
  }
}
public class SimpleTesting extends Thread {
  public static void main(String[] args) {
    Student<String, String> student = new Student<>("name", "Rohan");
    String key = student.getKey();
    String value = student.getValue();
    System.out.println("{" + key + ":" + value + "}");
  }
}

Produzione:

{name:Rohan}

Implementare la coppia di valori chiave utilizzando la classe AbstractMap.SimpleEntry in Java

Qui, usiamo la classe AbstractMap per implementare la coppia chiave-valore. I metodi getKey() e getValue() sono usati per ottenere rispettivamente la chiave e il valore. Vedi l’esempio sotto.

import java.util.AbstractMap;
import java.util.Map;

public class SimpleTesting extends Thread {
  public static void main(String[] args) {
    Map.Entry<String, String> entry = new AbstractMap.SimpleEntry<String, String>("name", "Rohan");
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println("{" + key + ":" + value + "}");
  }
}

Produzione:

{name:Rohan}

Implementare la coppia valore-chiave utilizzando Map.entry in Java

Possiamo usare Map.entry per memorizzare i dati nella coppia chiave e valore. Qui, usiamo l’interfaccia Entry ei suoi metodi getKey() e getValue() per ottenere rispettivamente la chiave e il valore. Vedi l’esempio sotto.

import java.util.Map;
import java.util.Map.Entry;
public class SimpleTesting extends Thread {
  public static void main(String[] args) {
    Entry<String, String> entry = Map.entry("name", "Rohan");
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println("{" + key + ":" + value + "}");
  }
}

Produzione:

{name:Rohan}

Implementare la coppia di valori chiave utilizzando AbstractMap.SimpleImmutableEntry in Java

Possiamo utilizzare SimpleImmutableEntry per creare un insieme immutabile di coppie chiave-valore. Vedi l’esempio sotto.

import java.util.AbstractMap;
import java.util.Map.Entry;
public class SimpleTesting extends Thread {
  public static void main(String[] args) {
    Entry<String, String> entry = new AbstractMap.SimpleImmutableEntry<>("name", "Rohan");
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println("{" + key + ":" + value + "}");
  }
}

Produzione:

{name:Rohan}

Implementare la coppia valore-chiave utilizzando Map.immutableEntry in Java

Qui, utilizziamo Map.immutableEntry per creare una coppia chiave-valore in Java. Usiamo i metodi getKey() e getValue() per ottenere rispettivamente la chiave e il valore.

import com.google.common.collect.Maps;
import java.util.AbstractMap;
import java.util.Map;
import java.util.Map.Entry;
public class MainClass extends Thread {
  public static void main(String[] args) {
    Map.Entry<String, String> entry = Maps.immutableEntry("name", "Rohan");
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println("{" + key + ":" + value + "}");
  }
}

Produzione:

{name:Rohan}

Implementare la coppia di valori chiave utilizzando la classe Properties in Java

La classe Properties delle raccolte Java può essere utilizzata per memorizzare i dati in coppie chiave-valore. Il metodo getProperty() della classe Properties restituisce il valore associato alla chiave. Vedi l’esempio sotto.

import java.util.Properties;
public class MainClass extends Thread {
  public static void main(String[] args) {
    Properties props = new Properties();
    props.setProperty("name", "Rohan"); // (key, value)
    String value = props.getProperty("name");
    System.out.println("{name:" + value + "}");
  }
}

Produzione:

{name:Rohan}

Articolo correlato - Java Collection