Containerfile benötigt - aber wie?

Status
Nicht offen für weitere Antworten.

MitchGilliam

Mitglied
Hallo liebe Leute und Leutinnen ,

ich arbeite an einem Projekt für die Uni und benötige ein Container-File oder ähnliches, um folgende Daten zusammen zu führen und miteinander zu verknüpfen.

1. ein Point
2. ein Piece (eigene Klasse)
3. ein Integer


EDIT: Ich sollte wohl noch erwähnen, dass alle 3 Typen auch mehrfach mit gleichem Wert (also z.B. 10 Integer mit Wert 5) vorkommen können. Daher kommt ein Set nicht in Frage.

Als Key - Objekt könnte sowohl der Point als auch der Integer benutzt werden, dies spielt keine Rolle.
Problematisch ist jedoch, dass das Piece keine hashCode() unterstützt und ich dies auch nicht implementieren kann (equals(object o) funktioniert jedoch wunderbar). Gleichzeitig kann ich mir hier keine neue Klasse schreiben (hängt an der Eigenart des Projekts).

Leider kenne ich mich mit den Collections in Java kaum aus und weis nicht, ob es bereits eine gibt, welche mir diese Möglichkeit offenbart?

Ich bedanke mich schonmal bei all denen die sich dies durchlesen.

MG
 

MitchGilliam

Mitglied
SlaterB hat gesagt.:

Die Antwort klingt ja auf den ersten Blick ganz einfach, aber ich wüsste nicht, wie ich in einer Array-List Objekte in Abhängigkeit zueinander setzen kann.
Ich habe dies bisher nur verwendet, um Objekte darin "zu sammeln" und über den Index anzusprechen; aber mehre Typen reinhauen und auch noch verknüpfen - planlos!
 
S

SlaterB

Gast
also Verknüpfung ist ja nur Map, neben HashMap gibts da offensichtlich noch TreeMap, sonst nix,

oder du steckst in die ArrayList nicht alle Objekte einzeln sondern zusammengehörige Objekte in Unter-Listen,
auch ein zweidimensionales Object-Array ginge,

aber alles nur blau geraten, 'Verknüpfung' ist ja ein ziemlich allgemeiner Hinweis
 
G

Gelöschtes Mitglied 5909

Gast
wie wärs mit List<Object[]> ?

Code:
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[] { new Point(x,y), new Piece(), 10 });

for (Object[] array : list) {
	for (Object o : array) {
		if (o == null) continue;
		else if (o instanceof Point) 
			Point p = (Point) o;
		else if (o instanceof Piece)
			Piece p = (Piece) o;
      		else if (o instanceof Integer)
			int i = (Integer) o;	
	}
}

nicht schön aber geht
 

Illuvatar

Top Contributor
Warum nicht einfach ne Klasse dafür?

Code:
class Container
{
  List<Point> points;
  List<Piece> pieces;
  List<Integer> ints;
  // Konstruktor, getter, setter, Sonstiges
}

Edit: Oh sorry, danke raiL, überlesen
 

MitchGilliam

Mitglied
raiL hat gesagt.:
wie wärs mit List<Object[]> ?

Code:
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[] { new Point(x,y), new Piece(), 10 });

for (Object[] array : list) {
	for (Object o : array) {
		if (o == null) continue;
		else if (o instanceof Point) 
			Point p = (Point) o;
		else if (o instanceof Piece)
			Piece p = (Piece) o;
      		else if (o instanceof Integer)
			int i = (Integer) o;	
	}
}

nicht schön aber geht


Vielen Dank für die Vorschläge!
Obigen habe ich übernommen. Somit lässt sich relativ gut suchen. Hoffe nur, dass es die Performance bei vielen Suchgängen nicht drückt.
Es soll schließlich ein Tetris-Autoplayer werden, der möglichst gut Tetris spielt :-D -> Es wäre unschön, wenn er mit dem Berechnen nicht hinterher kommt.

Viele Grüße
MG
 

Janus

Bekanntes Mitglied
Code:
public int hashCode()
{
  return 0;
}
schlechte, aber absolut gültige implementierung von hashCode. java stellt sehr geringe forderungen an die methode. steht aber auch alles in der API doc von java.lang.Object
 
G

Gelöschtes Mitglied 5909

Gast
@ Janus: dann wird deine HashMap zu einer LinkedList mit zusätzlichem Array Overhead und du kannst dir die HashMap sparen
 

Janus

Bekanntes Mitglied
klar, der vorteil einer hashmap kann sich nur dann ausspielen, wenn man eine wirklich gute hashCode methode anbietet. aber notwendig ist es nicht. man kann weiterhin auf die bequeme funktionalität einer map zurückgreifen, allerdings zu hohen kosten.
denn warum sollte man aufgrund dieser überlegungen auf eine map verzichten, wenn genau das die art und weise ist, wie man auf seine objekte zugreifen will? man kann völlig problemlos gegen eine map als container entwickeln und wenn irgendwann die performance in den keller geht, muss man sich lediglich überlegen, wie man eine anständige hashCode methode schreiben kann. wesentlich weniger aufwand, als seine arraylist wieder rauszufaktorieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
I BLOB / CLOB und Hibernate... Ratschläge benötigt Java Basics - Anfänger-Themen 10
B Regex Kombination benötigt Java Basics - Anfänger-Themen 5
I REST Api / JAX-RS, Swagger (OpenAPI) - generelle Starthilfen benötigt Java Basics - Anfänger-Themen 15
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
G Wofür benötigt man die Umgebungsvariablen sowohl in Windows 10 als auch in Mac OS Catalina Java Basics - Anfänger-Themen 19
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
B Denkanstoß benötigt: Emails an bestimmte Emailadresse schicken Java Basics - Anfänger-Themen 6
S Schnelle Hilfe bei 2 kurzen Aufgaben benötigt Java Basics - Anfänger-Themen 2
M Klassen Klassendiagramm - Hilfe benötigt Java Basics - Anfänger-Themen 0
N Zeit berechnen, die für eine Strecke benötigt wird Java Basics - Anfänger-Themen 3
I Programmierung-Hausaufgabe: Hilfe benötigt Java Basics - Anfänger-Themen 8
H Wofür benötigt man ByteBuffer? Java Basics - Anfänger-Themen 5
B Kleine Erklärung zu einer Codezeile benötigt Java Basics - Anfänger-Themen 5
R Codeerklärung benötigt Java Basics - Anfänger-Themen 12
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
J fileReader: wird dateipfad benötigt? Java Basics - Anfänger-Themen 8
M Denkanstoß für Umlaufzahl dringend benötigt! Java Basics - Anfänger-Themen 9
A for Zähl schleife hilfe benötigt Java Basics - Anfänger-Themen 12
J Anfänger Beispiele benötigt Java Basics - Anfänger-Themen 3
X Mit JSPs anfangen ... Was wird benötigt? Java Basics - Anfänger-Themen 5
C Hilfe bei Schleifen und Basics benötigt Java Basics - Anfänger-Themen 2
F Hilfe benötigt Java Basics - Anfänger-Themen 7
S 2 regex-Funktionen benötigt Java Basics - Anfänger-Themen 4
M Mails zum Server senden der Authentisierung benötigt Java Basics - Anfänger-Themen 3
D threadfehler: stischer zusamenhang benötigt. Java Basics - Anfänger-Themen 2
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
H Kapselung protected aber in einer Kindklasse nicht zugänglich Java Basics - Anfänger-Themen 5
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
P Installation JRE 8u321 startet, geht aber nicht weiter Java Basics - Anfänger-Themen 1
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
L Mergesort (aber anders) Java Basics - Anfänger-Themen 2
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
HelpInneed Baum ausgeben (aber mal anders) Java Basics - Anfänger-Themen 3
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
H Kapselung JProgressBar in JTable, aber getValueAt() greift nicht Java Basics - Anfänger-Themen 7
U Den Kuchen aufteilen - aber wie? (Rebalancing-Algorithmus) Java Basics - Anfänger-Themen 14
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
AGW App programmiert lassen, aber Änderungen vornehmen Java Basics - Anfänger-Themen 13
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
B Fehler, aber ich weiß nicht warum Java Basics - Anfänger-Themen 3
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
B Java Mail -> Mail senden, ist aber nich in IMAP unter "Gesendet" Java Basics - Anfänger-Themen 3
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2
A Haben KNNs ein Gedächtnis, lernen etwas oder verändern sich, während sie nicht trainieren, aber aktiv sind? Java Basics - Anfänger-Themen 3
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
S Programmierung simulieren - aber wie?! Java Basics - Anfänger-Themen 3
S Interpreter-Fehler Endlosschleife zur Laufzeit aber warum? Java Basics - Anfänger-Themen 15
J Mit OpenJDK entwickeln aber Oracle SE Runtime installieren? Java Basics - Anfänger-Themen 6
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
C Statischer Typ aber Variable nicht statisch? Java Basics - Anfänger-Themen 5
J ShortCut erstellen aber wie die dll einbinden Java Basics - Anfänger-Themen 3
I "\n" aus ArrayList enfernen, aber wie?! Java Basics - Anfänger-Themen 4
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
J JavaEditor kompiliert aber startet nicht Java Basics - Anfänger-Themen 1
B Email versand - aber akzeptiert auch falscher Username und Passwort??? Java Basics - Anfänger-Themen 1
O Array benutzen aber WIE? Java Basics - Anfänger-Themen 18
E Mastermind programmieren, wie den falschen Platz aber richtige Farbe schecken? Java Basics - Anfänger-Themen 23
A Variabler Rekursionsaufruf, aber wie? Java Basics - Anfänger-Themen 6
N Ausführung gibt keinen Fehler an, Return wird aber nicht ausgegeben Java Basics - Anfänger-Themen 22
M Methoden Zwei Methoden in einem Program laufen lassen...aber wie? Java Basics - Anfänger-Themen 2
K Armstrong Programm geht nur bis 1000, aber nicht weiter Java Basics - Anfänger-Themen 2
pkm Best Practice BufferedImage in JPane darstellen - aber wie? Java Basics - Anfänger-Themen 22
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
D int x in System.out.println(), aber wie? Java Basics - Anfänger-Themen 1
J Serialisieren, aber wie? Java Basics - Anfänger-Themen 3
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
snipesss Java-Code gedownloaded, funktioniert aber nicht? Java Basics - Anfänger-Themen 9
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
P Irgendein billiger Fehler aber ich find ihn nicht Java Basics - Anfänger-Themen 16
Thallius Date für DatePicker formatieren aber wie? Java Basics - Anfänger-Themen 9
J Nullpointer aber wo? Java Basics - Anfänger-Themen 12
E Dumme Frage, aber... Java Basics - Anfänger-Themen 15
S Erste Schritte Generische Klassen sind toll ....aber warum sollte ich das je benutzen? Java Basics - Anfänger-Themen 3
Z Erste Schritte Versuche ein Labyrinth in einem Terminal zu erstellen, aber kann die properties Datei nicht einlesen Java Basics - Anfänger-Themen 3
Tacofan Schleife aber nur wie? Java Basics - Anfänger-Themen 10
V char Eingabe aber nur für Buchstaben Java Basics - Anfänger-Themen 4
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
J Programm funktioniert aber unsafe operations? Java Basics - Anfänger-Themen 3
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben