Cet article décrit l'implémentation Java de filtrage des valeurs avec une clé vide ou une valeur dans la collecte de cartes. Partagez-le pour votre référence, comme suit:
Importer java.util.collection; import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.set; / ** * filtrez les valeurs de la clé ou de la valeur dans la collection de cartes avec les clés vides * @author lmb * @date 2017-3-14 * / Classe publique MapremullUlUlf ou valeur de valeur dans la carte * @param map * / public static void RemoveroLullRry (map map) {removenullKey (map); removenullvalue (carte); } / ** * Supprimez la clé vide de la carte * @param map * @return * / public static void removenullkeKey (map map) {set set = map.keyset (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {objet obj = (objet) iterator.next (); retirer (obj, itérateur); }} / ** * Supprimez la valeur vide dans la carte * @param map * @return * / public static void removenullvalue (map map) {set set = map.keyset (); for (iterator iterator = set.iterator (); iterator.hasnext ();) {objet obj = (objet) iterator.next (); Valeur objet = (objet) map.get (obj); supprimer (valeur, itérateur); }} / ** * Supprimer les valeurs nuls dans la carte * * Iterator fonctionne dans un thread indépendant et a un verrou de mutex. * Une fois l'itérateur créé, une table d'index unique pointant vers l'objet d'origine sera créée. Lorsque le nombre d'objets d'origine change, le contenu de ce tableau d'index ne changera pas de manière synchrone. * Par conséquent, lorsque le pointeur d'index recule, l'objet à itérer ne peut pas être trouvé. Par conséquent, selon le principe de l'échec, l'itérateur lancera immédiatement une exception Java.util.ConcurrentModificationException. * Par conséquent, Iterator n'autorise pas les objets itérés à modifier lorsqu'il fonctionne. * Mais vous pouvez utiliser la propre méthode de l'itérateur Support () pour supprimer l'objet. La méthode iterator.remove () conservera la cohérence de l'index lors de la suppression de l'objet itéré actuel. * @param obj * @param iterator * / private static void retire (objet obj, iterator iterator) {if (obj instanceof string) {String str = (string) obj; if (isEmpty (str)) {// filtre le résultat de sortie de la fonction principale avec null et "" map: {2 = bb, 1 = aa, 5 = cc, 8 =} // if ("". égal (str.trim ())) {// filtre le résultat de la sortie de la fonction principale avec nul iterator.remove (); }} else if (obj instanceof Collection) {collection col = (collection) obj; if (col == null || col.iSempty ()) {iterator.remove (); }} else if (obj instanceof map) {map temp = (map) obj; if (temp == null || temp.isempty ()) {iterator.remove (); }} else if (obj instanceof objet []) {objet [] array = (objet []) obj; if (array == null || array.length <= 0) {iterator.remove (); }} else {if (obj == null) {iterator.remove (); }}} public static boolean isEmpty (objet obj) {return obj == null || obj.toString (). Length () == 0; } public static void main (String [] args) {map map = new hashmap (); map.put (1, "aa"); map.put ("2", "bb"); map.put ("5", "cc"); map.put ("6", null); map.put ("7", ""); map.put ("8", ""); System.out.println (map); // Résultat de sortie: {2 = bb, 1 = aa, 7 =, 6 = null, 5 = cc, 8 =} removelleLullTry (map); System.out.println (MAP); }}Résultats en cours:
{1 = aa, 2 = bb, 5 = cc, 6 = null, 7 =, 8 =}
{1 = aa, 2 = bb, 5 = cc, 8 =}
Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Structure de données Java et tutoriel d'algorithme", "Résumé des conseils de nœud de Dom Operation Java", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.