Liste mit 2 Werten pro Eintrag

TJava

Bekanntes Mitglied
Hallo, ich frage mich wie man am besten eine Liste mit 2 Werten pro Eintrage programmiert.

Ich habe das ganze nun folgendermaßen gelöst

Java:
public void addError(String errMessage, String errLevel) {
		/**
		 * errMessage errLevel
		 */
		HashMap<String, String> errorMap = new HashMap<String, String>();
		errorMap.put("errMessage", errMessage);
		errorMap.put("errLevel", errLevel);
		errorList.add(errorMap);

	}

Allerdings entsteht dadurch viel boilercode(nennt man das so :D)

Java:
public boolean hasError() {
		return !errorList.isEmpty();
	}

Java:
if (cr.hasError()) {
			List<HashMap<String, String>> errorList = cr.getErrorList();
			for (Iterator iterator = errorList.iterator(); iterator.hasNext();) {
				HashMap<String, String> errorMap = (HashMap<String, String>) iterator
						.next();
				_logger.info(errorMap.get("errLevel"));
				_logger.info(errorMap.get("errMessage"));

			}
		}

Gruß,

Tim
 

fhoffmann

Top Contributor
Hallo,

warum schreibst du dir nicht eine kleine Klasse Fehler mit jeweils einem Member für errMessage und errLevel (und einer toString()-Methode).

Gruß
Fritz
 

Phash

Top Contributor
Stimmt, unnötige Klassen verschlechtern die Wartung.

Allerdings ist dein Fehler ja nicht unnötig.

Vielleicht willst du den Fehler ja aufheben (in einer Liste speichern) um ihn irgendwann abzuarbeiten - vielleicht willst du ihn auch für immer in einer Datenbank aufheben...

Selbst wenn du ihn nur an eine andere Klasse als Aufrufparameter übergibst, dort wird er genommen und gleich weggeworfen, ist es besser EINEN Parameter zu haben als dann 7 Strings. (So ein Fehler wächst schnell mal: da kommt der Timestamp hinzu, wann er aufgetreten wurde, dann kriegt er einen Timestamp, wann er bearbeitet wurde, dann bekommt er einen internen Bearbeitungsstatus und schon ist es mehr als nur 2 Strings zu Beginn)

Die Fehlerklasse würde genau einen Zweck erfüllen- Principle of Single Responsibility: Single-Responsibility-Prinzip ? Wikipedia

Die Fehler-Strings in einer anderen Klasse zu halten, würde dies genau verletzen.

Du kannst die Fehler, wenn du sie in einer anderen Klasse als Member-Strings hälst, woanders nicht weiterbenutzen.

Das heisst, um es wartungsfreundlich zu machen, machst du sehr kleine Klassen, die du testen kannst, und die du nie wieder anfassen musst.
Meiner Meinung nach, gibt es sowas wie "zu viele Klassen" eigentlich nicht. Wenn du es benennen kannst, ist es eine Klasse (pi mal Daumen)
Eine Videothek hat Abteilungen und Videos und Kunden und Geschäftszeiten - alles Klassen.
Ein Video hat auch noch einen Preis - wieder eine Klasse, und nicht nur eine Int-Variable von Video. (Evtl verleihen die ja auch noch CDs und schon brauchst du den Preis wieder...) etc...


Wenn du die Klasse fertig hast, getestet hast und sie ihren Zweck erfüllt, kannst du sie einfach benutzen, ohne dich darum kümmern zu müssen.
Machst du das alles in einer dicken Klasse, die alles kann und macht, musst du jedesmal wieder testen, ob sich das Verhalten nicht doch plötzlich geändert haben könnte -> hier sind wir beim Blob (um bei deiner Folie zu bleiben)
 
Zuletzt bearbeitet:

turtle

Top Contributor
Was du brauchst, nennt der Mathematiker ein Tupel.
Daher habe ich eine solche Tupel-Klasse mal geschrieben;)
Der Test dazu
Java:
   @Test
    public void test() {
	Tupel<String, String> tupel = new Tupel<>("errMessage", "errLevel");
	assertEquals("errMessage", tupel.getT1());
	assertEquals("errLevel", tupel.getT2());
    }
Java:
public class Tupel<T1, T2> {
    private T1 t1;
    private T2 t2;

    public Tupel(T1 t1, T2 t2) {
	this.t1 = t1;
	this.t2 = t2;
    }

    public T1 getT1() {
	return t1;
    }

    public void setT1(T1 t1) {
	this.t1 = t1;
    }

    public T2 getT2() {
	return t2;
    }

    public void setT2(T2 t2) {
	this.t2 = t2;
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Elemente einer Liste mit true / false Werten Java Basics - Anfänger-Themen 3
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
M Verkettete Liste Java Basics - Anfänger-Themen 1
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
thor_norsk Verkette Liste Java Basics - Anfänger-Themen 27
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
M Java Liste streamen Java Basics - Anfänger-Themen 10
AmsananKING Aussortierung einer Liste Java Basics - Anfänger-Themen 8
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
A Korrigierte <String> Liste zurückgeben Java Basics - Anfänger-Themen 22
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
I Liste gruppieren nach Monat? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
Gaudimagspam Linked Liste Java Basics - Anfänger-Themen 4
Z Liste umkehren Java Basics - Anfänger-Themen 1
S Eine Liste kopieren Java Basics - Anfänger-Themen 13
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M QuickSort und Liste Java Basics - Anfänger-Themen 6
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1
M Array liste Verdrehen Java Basics - Anfänger-Themen 8
A Verkettete Liste Java Basics - Anfänger-Themen 2
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
B Liste sortieren? Java Basics - Anfänger-Themen 4
O Anonyme Klasse einer Liste erstellen Java Basics - Anfänger-Themen 7
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
O ADT Liste z. B. Java Basics - Anfänger-Themen 15
B sortierte Liste Java Basics - Anfänger-Themen 4
O Knoten und Liste verarbeitung Java Basics - Anfänger-Themen 20
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
J Eine Liste von Listen erstellen Java Basics - Anfänger-Themen 11
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
Queiser Liste zurückgeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben