Doppelte eintraege im Stringbuffer löschen

lara22

Mitglied
Hallo Java Gemeinde,

Wie kann ich doppelte Einträge aus einem StringBuffer löschen?
Ich füge im StringBuffer ein paar Tags ein. Wenn ich diese ausgebe, erscheint jedes Tag zweimal auf.
Beispiel ich füge <hallo>. Als Ausgabe erhalte ich <hallo> <hallo>. Woran kann das liegen.

Ich danke im Voraus.
 

eRaaaa

Top Contributor
Zeige uns doch einmal einen Ausschnitt aus deinem Code. Du fügst den Tag vermutlich zwei mal ein, von alleine macht das der StringBuffer jedenfalls nicht :)

(oder die Ausgabe passt eben nicht...)
 
Zuletzt bearbeitet:

lara22

Mitglied
Hehehe :)
Code:
StringBuffer stringbuffer = new StringBuffer();
		
for (int i = 0; i < n1.getChildNodes().getLength(); i++) {
			boolean boolean = true;
	
for (int j = 0; j < n2.getChildNodes().getLength(); j++) {
if (n2.getChildNodes().item(j).isEqualNode(n1.getChildNodes().item(i))) {
	boolean = false;
	}}
				
	if (boolean) {
					
  stringbuffer.append( n.getChildNodes().item(i).getNodeName()+ ">"+ n.getChildNodes().item(i).getTextContent() + "</"+ n.getChildNodes().item(i).getNodeName() + ">");

Ich finde es einfach net
 
Zuletzt bearbeitet:

Natac

Bekanntes Mitglied
Bitte räume deinen Code mal auf und füge lokale Variablen ein, für:
- die Kinder von n1 und n2
- die Objekte an der Stelle item(i) der Kinder.

Korrigiere bitte zudem die Einrückungen und poste das ganze in
Java:
-Tags. So wie das da steht bin ich nicht bereit mir das auseinander zu puzzeln.
 
Zuletzt bearbeitet:

lara22

Mitglied
So ich poste mal den Code.

Code:
private boolean isIgnoredDifference(Difference difference) {

if (difference.getControlNodeDetail().getNode() != null
                         && difference.getTestNodeDetail().getNode() != null) {

  int a = difference.getControlNodeDetail().getNode().getChildNodes().getLength();
  int b = difference.getTestNodeDetail().getNode().getChildNodes().getLength();


if (a != b) {

	Node n= difference.getControlNodeDetail().getNode();
	Node n1 = difference.getTestNodeDetail().getNode();
               
               extraCompare(n);
                         
                        return false;
			}

if (difference.getControlNodeDetail().getNode().getParentNode()
				.getParentNode().getChildNodes().getLength() == difference
					.getTestNodeDetail().getNode().getParentNode()
					.getParentNode().getChildNodes().getLength()) {

	for (String s : exceptions) {

                    if (difference.getControlNodeDetail().getXpathLocation() == null
			     || difference.getTestNodeDetail().getXpathLocation() == null) {
                                                                             return false;
					}

		if (s != null) {
                                     if (!s.equals("")&& difference.getControlNodeDetail()
						.getXpathLocation().startsWith(s)) {
							return true;
						}
					}
				}

		            int differenceId = difference.getId();
		            for (int i = 0; i < IGNORE_VALUES.length; ++i) {
		           if (differenceId == IGNORE_VALUES[i]) {
						return true;
					}
				}
				return false;
			} else {

				return true;

			}
		}
		return true;
	}


	public int differenceFound(Difference difference) {
		if (isIgnoredDifference(difference)) {
			return RETURN_IGNORE_DIFFERENCE_NODES_IDENTICAL;
		} else {
			return RETURN_ACCEPT_DIFFERENCE;
		}
	}


	public void skippedComparison(Node control, Node test) {

	}

	private void extraCompare(Node n) {

		StringBuffer stringbuffer = new StringBuffer();

		for (int i = 0; i < n.getChildNodes().getLength(); i++) {

			boolean Boolean = true;

			for (int j = 0; j < n1.getChildNodes().getLength(); j++) {

				if (n1.getChildNodes().item(j)
						.isEqualNode(n.getChildNodes().item(i))) {

					Boolean = false;

				}

			}

			if (Boolean) {

		stringbuffer.append(n.getChildNodes().item(i).getNodeName(
                                                             + n.getChildNodes().item(i).getAttribute() .getNamedItem("NAME") + ">"   + n.getChildNodes().item(i).getTextContent() 
					  + n.getChildNodes().item(i).getNodeName() + ">");

			}

		}

		System.out.println(stringbuffer.toString());

	}
		
	}

Im der Methode extracompare mach ich eine weiter Überprüfung. Es funktioniert auch , nur in der Ausgabe wird es doppelt ausgegeben :/
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M WSDL: Doppelte Typenames (Keine Verwendung möglich) Allgemeine Java-Themen 5
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
J In einem Set doppelte Elemente erzeugen Allgemeine Java-Themen 4
Sogomn Best Practice "Doppelte" Methoden Allgemeine Java-Themen 3
J Doppelte Buchstaben löschen - letztes Wort macht er nicht Allgemeine Java-Themen 2
A List<String> auf doppelte Einträge überprüfen Allgemeine Java-Themen 4
F Doppelte Datensätze zusammenführen Allgemeine Java-Themen 12
B Collections TreeSet/TreeMap, doppelte Einträge zulassen ? Allgemeine Java-Themen 11
Q "Doppelte" Einträge einer Liste entfernen Allgemeine Java-Themen 14
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
R Vererbung - doppelte Paint-Methode Allgemeine Java-Themen 4
A ArrayListe :Doppelte entfernen -> keine Referenzen Allgemeine Java-Themen 26
D Geht es auch schneller doppelte Einträge zu löschen? Allgemeine Java-Themen 23
m@nu doppelte daten im speicher? Allgemeine Java-Themen 2
F [TableModel] Doppelte einträge finden (bzw. verhindern) Allgemeine Java-Themen 3
127.0.0.1 StringBuffer leere Zeile löschen Allgemeine Java-Themen 8
K Immutable View auf StringBuffer? Allgemeine Java-Themen 13
S AWT StringBuffer macht nicht, was ich erwarte Allgemeine Java-Themen 2
T String vs StringBuilder vs StringBuffer Allgemeine Java-Themen 8
V Stringbuffer/builder leeren Allgemeine Java-Themen 2
neurox Stringbuffer -> MimeBodyPart Allgemeine Java-Themen 5
P StringBuffer, StringBuilder und StringWriter Allgemeine Java-Themen 4
T Performance String-Operationen und StringBuffer (1.4und 1.5) Allgemeine Java-Themen 18
G Zeilenweise aus einem StringBuffer lesen Allgemeine Java-Themen 4
B Inhalt von StringBuffer löschen Allgemeine Java-Themen 14
D Inputstream aus StringBuffer Allgemeine Java-Themen 3
M Regex und StringBuffer: Problem mit TAB-Codierung Allgemeine Java-Themen 3
A StringBuffer manipulation Klausur Allgemeine Java-Themen 2
T Kleine Verständnisfrage zu Stringbuffer Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben