java.util Summary 3 (HashTable, énumération)

Quoi écrire cette fois:

Le fichier de propriétés pour entrer les clés et les valeurs dans Hashtable, etc.

temp.properties


key1 = value1
key2 = value2
key3 = value3
key4 = value4

test.properties


key11 = value11
key12 = value12
key13 = value13

enumeration_sample.properties


key1 = Java
key2 = JavaScript
key3 = Scala
key4 = Python2
key5 = Python3

utilisation.

Classe Hashtable

Une classe qui implémente une table de hachage. Cette classe provient de Java 1.0 et est toujours une classe active (?), Comme l'ancêtre de ConcurrentHashMap. Les tables de hachage sont appelées tableaux associatifs et se mélangent bien avec les cartes de hachage. Veuillez consulter le lien ci-dessous pour connaître la différence entre la table de hachage et la carte de hachage.

Le fait est que HashMap est HashMap et Hashtable est Hashtable.

Dans l'exemple suivant, la propriété est définie par défaut à l'avance, copiée dans Hashtable, la propriété que vous souhaitez définir est définie et la propriété est nouvellement définie avec Hashtable, qui est une copie de la propriété par défaut. Programme vers lequel importer.

HashtableSample.java


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Properties;

public class HashtableSample {

	@SuppressWarnings("unchecked")
	public static void main(String[] args) throws FileNotFoundException, IOException {
		Hashtable<String, String> hashTable = new Hashtable<String, String>();
		Properties properties = new Properties();
		
		properties.load(new FileInputStream("./Property/temp.properties")); 
		hashTable = (Hashtable<String, String>) properties.clone(); 
		
		System.out.println("Default Property: " + properties);
		
		properties.load(new FileInputStream("./Property/test.properties"));
		properties.putAll(hashTable);
		
		System.out.println("Second Property: " + properties);
		
		if(properties.containsKey("key4")){
			System.out.println("key4 is exist.");
		} else {
			System.out.println("key4 isn't exist.");
		}
	}
}

Le résultat est

Default Property: {key4=value4, key3=value3, key2=value2, key1=value1}
key13 isn't exist.
Second Property: {key13=value13, key12=value12, key11=value11, key4=value4, key3=value3, key2=value2, key1=value1}
key13 is exist.

Sera. Ici, key13 indique une clé qui n'est pas la valeur par défaut.

containsKey, méthode

Une méthode définie dans l'interface Map qui détermine si la clé spécifiée par l'argument est dans Hashtable. Renvoie true si Hashtable possède cette clé.

méthode putAll

Une méthode définie dans l'interface Map qui copie tous les mappages d'arguments vers Hashtable.

Choses supplémentaires

Étant donné que la classe Properties hérite de la classe Hashtable, les méthodes Hashtable peuvent être utilisées.

Interface d'énumération

Ceci est également de Java 1.0 et est comme l'ancêtre d'Iterator. L'opération est la même qu'Iterator. Alors pourquoi ne pas utiliser Iterator? Je pense, mais ce n'est pas le cas. Certaines classes ont des méthodes qui renvoient le type Enumeration (java.util.Hashtable # elements (), java.util.Hashtable # keys (), java.util.Properties # propertyNames (), etc.), vous devez donc les utiliser correctement.

L'exemple suivant est un programme qui place une liste de clés de propriété dans le type Enumeration, recherche la valeur de cette clé et la renvoie vers la console.

EnumerationSample.java


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;

public class EnumerationSample {

	public static void main(String[] args) throws FileNotFoundException, IOException{
	
		Properties properties = new Properties();
		properties.load(new FileInputStream("./Property/enumration_sample.properties"));
		
		for(Enumeration<Object> enumeration = properties.keys(); enumeration.hasMoreElements();){
			String name = (String) enumeration.nextElement();
			System.out.println(properties.getProperty(name));
		}
	}
}

Le résultat est

Python3
Python2
Scala
JavaScript
Java

Sera.

Méthode hasMoreElements

Une méthode définie dans l'interface d'énumération. Cette méthode détermine si l'énumération comporte les éléments suivants: Renvoie true si la méthode suivante existe.

nextElement, méthode

Une méthode définie dans l'interface d'énumération. Méthode qui renvoie l'élément suivant si l'énumération comporte un ou plusieurs éléments. Renvoie NoSuchElementException s'il n'y a plus d'éléments.

Recommended Posts

java.util Summary 3 (HashTable, énumération)
java.util Résumé 4 (tableaux, liste, ListIterator)
Résumé