Speichern von Zahlenpaaren in Java

8

Wie speichere ich eine Menge gepaarter Zahlen in Java? Benutze ich Listen oder Arrays oder etwas anderes?

z. [(1,1), (2,1), (3,5)]

    
saviok 19.04.2012, 18:29
quelle

4 Antworten

8

Es gibt ein paar Optionen:

Schreiben Sie eine benutzerdefinierte IntPair-Klasse

%Vor%

und dann ein IntPair[] oder ein List<IntPair> erstellen.

Erstellen Sie alternativ ein zweidimensionales Array new int[n][2] und behandeln Sie die Zeilen als Paare.

Java hat aus mehreren Gründen keine integrierte Pair -Klasse, aber am auffälligsten ist, dass es einfach genug ist, eine Klasse zu schreiben, die die gleiche Funktion hat, aber viel hat Aufschlussreichere, hilfreichere Namen für die Klasse, ihre Felder und ihre Methoden.

Wenn wir mehr darüber wüssten, wofür Sie das eigentlich verwenden, können wir vielleicht detailliertere Vorschläge machen - nach allem, was wir wissen, könnte ein Map hier angebracht sein.

    
Louis Wasserman 19.04.2012, 18:35
quelle
0
%Vor%

Sie können auch Getter, Setter, Equals, Hashcode usw. einfügen.

    
Skip Head 19.04.2012 18:34
quelle
0

Wenn du mit Low-Level-Strukturen leben kannst und dringend eine kompakte Form der "wörtlichen" Form von "Paaren" benötigst - das passiert mir im Unit-Test, wenn ich eine Reihe von Fixtures benötige - kannst du einfach verwenden ein Array von Arrays:

%Vor%

Aber denken Sie daran, dass es für einen solchen Typ keine Semantik gibt - alles hängt von der richtigen Verwendung ab, der Compiler gibt Ihnen keine Warnung, wenn Sie squares[0][1] eingeben, wenn Sie wirklich squares[1][0] wollten.

    
pwes 19.04.2012 18:38
quelle
0

Wenn Duplikate vermieden werden müssen, wäre ein HashSet eine gute Wahl, aber dann funktioniert eine ArrayList nicht.

%Vor%

oder

%Vor%     
ChadNC 19.04.2012 18:50
quelle

Tags und Links