


Beispielcode für die gemeinsame Nutzung von XML-Zeichen mit der Map-Tool-Klasse
XMLZeichenkonvertierungKarteWerkzeugklasse-Beispielcode-Sharing
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class XmlUtils { public static Map<String, Object> Str2Map(String str){ try { // long beginTime = System.currentTimeMillis(); Document doc = DocumentHelper.parseText(str); // System.out.println(doc.asXML()); Map<String, Object> map = XmlUtils.Dom2Map(doc); // System.out.println(map.toString()); // System.out.println("Use time:"+(System.currentTimeMillis()-beginTime)); return map; } catch (DocumentException e) { e.printStackTrace(); } return null; } public static Map<String, Object> Dom2Map(Document doc){ Map<String, Object> map = new HashMap<String, Object>(); if(doc == null) return map; Element root = doc.getRootElement(); for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { Element e = (Element) iterator.next(); List list = e.elements(); if(list.size() > 0){ map.put(e.getName(), Dom2Map(e)); }else map.put(e.getName(), e.getText()); } return map; } @SuppressWarnings("unchecked") public static Map Dom2Map(Element e){ Map map = new HashMap(); List list = e.elements(); if(list.size() > 0){ for (int i = 0;i < list.size(); i++) { Element iter = (Element) list.get(i); List mapList = new ArrayList(); if(iter.elements().size() > 0){ Map m = Dom2Map(iter); if(map.get(iter.getName()) != null){ Object obj = map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList = new ArrayList(); mapList.add(obj); mapList.add(m); } if(obj.getClass().getName().equals("java.util.ArrayList")){ mapList = (List) obj; mapList.add(m); } map.put(iter.getName(), mapList); }else map.put(iter.getName(), m); } else{ if(map.get(iter.getName()) != null){ Object obj = map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList = new ArrayList(); mapList.add(obj); mapList.add(iter.getText()); } if(obj.getClass().getName().equals("java.util.ArrayList")){ mapList = (List) obj; mapList.add(iter.getText()); } map.put(iter.getName(), mapList); }else map.put(iter.getName(), iter.getText()); } } }else map.put(e.getName(), e.getText()); return map; }
Das obige ist der detaillierte Inhalt vonBeispielcode für die gemeinsame Nutzung von XML-Zeichen mit der Map-Tool-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



application.yml definiert die Listensammlung. Die erste Möglichkeit besteht darin, die Annotation @ConfigurationProperties zu verwenden, um alle Werte der Listensammlung zu erhalten Hier ist zu beachten, dass beim Definieren der Listensammlung zunächst eine Konfigurationsklasse Bean definiert und dann die Annotation @ConfigurationProperties verwendet wird, um den Wert der Listensammlung zu erhalten. @Component übergibt die Entitätsklasse an das Spring-Management @ConfigurationPropertie

1. Technischer Hintergrund In der tatsächlichen Projektentwicklung verwenden wir häufig Caching-Middleware (wie Redis, MemCache usw.), um die Verfügbarkeit und Robustheit des Systems zu verbessern. Wenn das Projekt jedoch relativ einfach ist, besteht in vielen Fällen keine Notwendigkeit, speziell Middleware wie Redis einzuführen, um die Komplexität des Systems zu erhöhen und Caching zu verwenden. Verfügt Java selbst über nützliche, leichtgewichtige Caching-Komponenten? Die Antwort ist natürlich ja, und es gibt mehr als einen Weg. Zu den gängigen Lösungen gehören: ExpiringMap-, LoadingCache- und HashMap-basierte Paketierung. 2. Technische Effekte zur Realisierung allgemeiner Cache-Funktionen, z. B. veraltete Löschstrategie, Aufwärmen von Hotspot-Daten. 3. ExpiringMap3.

Methode 1. Verwenden Sie HashtableMapashtable=newHashtable(); Das ist das Erste, woran jeder denkt. Warum ist es also threadsicher? Werfen Sie dann einen Blick auf den Quellcode. Wir können sehen, dass unsere häufig verwendeten Methoden wie put, get und containsKey alle synchron sind, sodass es sich um threadsicheren publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key handelt. hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

Es gibt viele Möglichkeiten, Javabeans und Maps zu konvertieren, wie zum Beispiel: 1. Beans über ObjectMapper in JSON konvertieren und dann JSON in Map konvertieren. Nach dem Testen wurden 10.000 Beans konvertiert. es dauert 12 Sekunden! ! ! Nicht empfohlen. 2. Erhalten Sie die Attribute und Werte der Bean-Klasse durch Java-Reflektion und konvertieren Sie sie dann in die der Karte entsprechenden Schlüssel-Wert-Paare. Diese Methode ist die zweitbeste, aber etwas aufwändiger. 3. Durch die Methode net.sf.cglib.beans.BeanMap in der Klasse ist diese Methode äußerst effizient. Der Unterschied zur zweiten Methode besteht darin, dass die Bean aufgrund der Verwendung des Caches initialisiert werden muss erstellt.

Optimieren der Leistung der Go-Sprachkarte In der Go-Sprache ist Karte eine sehr häufig verwendete Datenstruktur, die zum Speichern einer Sammlung von Schlüssel-Wert-Paaren verwendet wird. Allerdings kann die Kartenleistung bei der Verarbeitung großer Datenmengen beeinträchtigt werden. Um die Leistung der Karte zu verbessern, können wir einige Optimierungsmaßnahmen ergreifen, um die zeitliche Komplexität von Kartenoperationen zu reduzieren und dadurch die Ausführungseffizienz des Programms zu verbessern. 1. Kartenkapazität vorab zuweisen. Beim Erstellen einer Karte können wir die Anzahl der Kartenerweiterungen reduzieren und die Programmleistung verbessern, indem wir Kapazität vorab zuweisen. Im Allgemeinen wir

Die Map-Direktive verwendet das Modul ngx_http_map_module. Standardmäßig lädt Nginx dieses Modul, sofern nicht künstlich --without-http_map_module. Das Modul ngx_http_map_module kann Variablen erstellen, deren Werte mit den Werten anderer Variablen verknüpft sind. Ermöglicht die Klassifizierung oder gleichzeitige Zuordnung mehrerer Werte zu mehreren verschiedenen Werten und die Speicherung in einer Variablen. Die Map-Direktive wird zum Erstellen einer Variablen verwendet, führt die Ansichtszuordnungsoperation jedoch nur aus, wenn die Variable akzeptiert wird Bei der Verarbeitung von Anforderungen, die nicht auf Variablen verweisen, weist das Modul keine Leistungsmängel auf. 1.ngx_http_map_module Modulanweisungsbeschreibung Kartensyntax

Wenn Java-Entwickler APIs entwickeln, müssen sie sich häufig mit verschiedenen Toolklassen befassen, was Entwicklungszeit sparen und die Wiederverwendbarkeit des Codes verbessern kann. Hutool ist eine Java-Toolbibliothek, die eine Fülle von Toolklassen und häufig verwendeten Algorithmen bereitstellt, die die Effizienz der API-Entwicklung verbessern können. Hutool unterstützt Java 8 und höher und kann problemlos in verschiedenen Szenarien verwendet werden, z. B. Zeichenfolgenverarbeitung, Datums- und Uhrzeitverarbeitung, Ver- und Entschlüsselung, Dateioperationen usw. Im Folgenden sind einige häufig verwendete Funktionen aufgeführt. Saitenverarbeitungshütte

Zwei Methoden: 1. Verwenden Sie die Anweisung „for range“, um die Karte zu durchlaufen und alle Elemente mit der Syntax „for key, value := range mapName{...}“ zu erhalten. 2. Verwenden Sie den Schlüssel als Index, um das angegebene Element abzurufen. Die Syntax lautet „Wert, isOk: = Kartenname [Schlüssel]“. Geben Sie zwei Rückgabewerte zurück. Der erste Rückgabewert ist der erhaltene Wert. Wenn der Schlüssel nicht vorhanden ist, wird zurückgegeben leerer Wert, der zweite Parameter ist ein Bool-Wert, der angibt, ob der Wert erfolgreich abgerufen wurde.
