Dieser Artikel beschreibt die Java -Implementierung des Filterns von Werten mit leerem Schlüssel oder Wert in der Kartensammlung. Teilen Sie es für Ihre Referenz wie folgt weiter:
Import Java.util.Collection; Import Java.util.hashMap; Import Java.util.iterator; import Java.util.map; Import Java.util.set;/*** Filter die Werte des Schlüssels oder Werts in der Kartensammlung mit leerem Schlüssel. Schlüssel- oder Wertwert in der Karte * @param map */ public static void removenullentry (MAP MAP) {removenullKey (Karte); removenullValue (map); } / ** * Entfernen Sie die leere Taste der Karte * @param map * @return * / public static void removenullkey (MAP MAP) {set set = map.keyset (); für (iterator iterator = set.iterator (); iterator.hasnext ();) {Objekt obj = (Objekt) iterator.next (); entfernen (obj, iterator); }} / ** * Entfernen Sie den leeren Wert in der Karte * @param map * @return * / public static void removenullValue (MAP MAP) {set set = map.keyset (); für (iterator iterator = set.iterator (); iterator.hasnext ();) {Objekt obj = (Objekt) iterator.next (); Object value = (Object) map.get (OBJ); entfernen (Wert, Iterator); }} /*** Nullwerte in MAP entfernen** Iterator funktioniert in einem unabhängigen Thread und hat eine Mutex -Sperre. * Nachdem der Iterator erstellt wurde, wird eine einzeln verknüpfte Indextabelle, die auf das ursprüngliche Objekt zeigt, erstellt. Wenn sich die Anzahl der ursprünglichen Objekte ändert, ändert sich der Inhalt dieser Indextabelle nicht synchron. * Wenn sich der Indexzeiger rückwärts bewegt, kann das zu iterierte Objekt nicht gefunden werden. Daher wirft der Iterator nach dem fehlgeschnittenen Prinzip sofort eine Ausnahme von java.util.ConcurrentModificationException aus. * Daher erlaubt Iterator nicht, dass iterierte Objekte geändert werden können, wenn es funktioniert. * Sie können jedoch die eigene Methode des Iterators verwenden, um das Objekt zu löschen. Die Methode iterator.remove () führt die Konsistenz des Index bei gleichzeitiger Löschung des aktuellen iterierten Objekts. * @param obj * @param iterator */ private static void entfernen (Objekt obj, Iterator Iterator) {if (obj Instance von String) {String str = (String) obj; if(isEmpty(str)){ //Filter out the output result of the main function with null and "" map: {2=BB, 1=AA, 5=CC, 8= }// if("".equals(str.trim())){ //Filter out the output result of the main function with null, "" and " " map: {2=BB, 1=AA, 5=CC} iterator.remove (); }} else if (obj instanceof collection) {collection col = (sammel) 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 object []) {Object [] array = (Object []) obj; if (array == null || array.length <= 0) {iterator.remove (); }} else {if (obj == null) {iterator.remove (); }}} public static boolean isEmpty (Objekt obj) {return obj == null || Obj.ToString (). Länge () == 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); // Ausgabeergebnis: {2 = bb, 1 = aa, 7 =, 6 = null, 5 = cc, 8 =} removenUllEntry (map); System.out.println (MAP); }}Auslaufergebnisse:
{1 = aa, 2 = bb, 5 = cc, 6 = null, 7 =, 8 =}
{1 = aa, 2 = bb, 5 = cc, 8 =}
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.