Mehrzeiliges Drucken von (verschachtelten) Sammlungen in Java

7

Ich möchte den Inhalt meiner Karten (hübsch) ausdrucken können.

Sie sollten Zeilenumbrüche und Einrückungen haben und nicht auf einer einzelnen Zeile; Ignorieren der toString-Methoden von Collections / iterables / etc; und rekursive in verschachtelte Sammlungen.

Dies ist besonders interessant für mich in Bezug auf Karten. Ich nehme an, JSON'ing könnte relevant sein, aber ich möchte nicht so weit gehen, oder zumindest - ich möchte nicht, dass mein Code über JSON weiß, nur damit ich ihn schön ausdrucken kann. Was sind meine Möglichkeiten (außer das selbst zu schreiben)?

    
einpoklum 02.03.2013, 06:50
quelle

4 Antworten

15

Sie können die Methode MapUtils.debugPrint aus den Apache commons-Sammlungen, um verschachtelte Maps zu drucken.

  

Diese Methode druckt einen gut formatierten String, der die Map beschreibt. Jeder Karteneintrag wird mit Schlüssel-, Wert- und Wertklassennamen gedruckt. Wenn der Wert eine Map ist, tritt rekursives Verhalten auf.

    
lbalazscs 03.03.2013, 23:22
quelle
3

Ersetzen Sie den Anfang jedes Eintrags durch eine neue Zeile und einen neuen Tab wie folgt

myMap.toString().replace("[", "\n\t[");

    
Ravindra Gullapalli 02.03.2013 06:56
quelle
1

Ich bin mir nicht 100% ig sicher, vielleicht ist das, wonach Sie suchen und was Sie pretty printing -

genannt haben %Vor%     
Subhrajyoti Majumder 02.03.2013 06:55
quelle
1
___ answer15171741 ___

Ersetzen Sie den Anfang jedes Eintrags durch eine neue Zeile und einen neuen Tab wie folgt

%code%

    
___ qstnhdr ___ Mehrzeiliges Drucken von (verschachtelten) Sammlungen in Java ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ antwort43909169 ___

Ich suchte nach einem Ausdruck von verschachtelten Sammlungen in Java, die mich hierher gebracht haben. Die Antworten funktionieren jedoch nur für Maps. Daher dachte ich, ich würde meine Lösung für verschachtelte Sammlungen hinzufügen. Es erzeugt eine JSON-ähnliche Ausgabe, wenn Sie möchten, dass Zeilenumbrüche "] \ n" statt "]" hinzufügen.

Beachten Sie, dass dies keine schöne Ausgabe erzeugt, wenn das Objekt [] verschachtelte Elemente enthält. Sie müssten eine separate Methode schreiben, um mit verschachtelten Arrays umzugehen. Außerdem werden primitive Arrays nicht hübsch gedruckt, da Sie für jeden primitiven Array-Typ eine else-Anweisung benötigen.

%Vor%     
___ tag123collections ___ Auflistungs-APIs stellen Entwicklern eine Reihe von Klassen und Schnittstellen zur Verfügung, mit denen die Sammlung von Objekten vereinfacht wird. ___ tag123libraries ___ Verwenden Sie dieses Tag für Fragen zu Softwarebibliotheken. Dieses Tag ist NICHT für Fragen zu Computerprogrammen gedacht, die in öffentlichen Bibliotheken oder anderen Bibliotheken verwendet werden. Fragen, die uns bitten, eine Bibliothek zu empfehlen oder zu finden, sind off-topic. ___ tag123prettyprint ___ Prettyprint (oder pretty-print) ist eine Anwendung verschiedener stilistischer Formatierungskonventionen für Text, Quellcode, Markup und ähnliche Inhalte. Diese Formatierungskonventionen bestehen normalerweise aus Änderungen in der Positionierung, dem Abstand, der Farbe, dem Kontrast, der Größe und ähnlichen Modifikationen, die den Inhalt für Personen einfacher anzeigen, lesen und verstehen erleichtern sollen. ___ qstntxt ___

Ich möchte den Inhalt meiner Karten (hübsch) ausdrucken können.

Sie sollten Zeilenumbrüche und Einrückungen haben und nicht auf einer einzelnen Zeile; Ignorieren der toString-Methoden von Collections / iterables / etc; und rekursive in verschachtelte Sammlungen.

Dies ist besonders interessant für mich in Bezug auf Karten. Ich nehme an, JSON'ing könnte relevant sein, aber ich möchte nicht so weit gehen, oder zumindest - ich möchte nicht, dass mein Code über JSON weiß, nur damit ich ihn schön ausdrucken kann. Was sind meine Möglichkeiten (außer das selbst zu schreiben)?

    
___ answer15192162 ___

Sie können die Methode MapUtils.debugPrint aus den Apache commons-Sammlungen, um verschachtelte Maps zu drucken.

  

Diese Methode druckt einen gut formatierten String, der die Map beschreibt. Jeder Karteneintrag wird mit Schlüssel-, Wert- und Wertklassennamen gedruckt. Wenn der Wert eine Map ist, tritt rekursives Verhalten auf.

    
___ answer15171735 ___

Ich bin mir nicht 100% ig sicher, vielleicht ist das, wonach Sie suchen und was Sie pretty printing -

genannt haben %Vor%     
___
neilireson 11.05.2017 07:32
quelle