2017-01-12 1 views
2

Ich habe 3 verschiedene Klassen; Kandidat, Veranstaltung und Ergebnis.Referenz ArrayList Objekt zu Objekten anderer ArrayLists

public class Contestant { 

public static ArrayList<Contestant> allContestants = new ArrayList<>(); 

private int contestantId; 
private String firstName; 
private String lastName; 

public Contestant (int contestantId, String firstName, String lastName) { 
    this.contestantId = contestantId; 
    this.firstName = firstName; 
    this.lastName = lastName; 
} 

public class Event { 

public static ArrayList<Event> allEvents = new ArrayList<>(); 

private String eventName; 

public Event (String eventName) { 
    this.eventName = eventName; 
} 

public class Result { 

public static ArrayList<Result> allResults = new ArrayList<>(); 

private double result; 
private int attemptNumber; 

public Result (double result, int attemptNumber) { 
    this.result = result; 
    this.attemptNumber = attemptNumber: 
} 

Die Klassen für unterschiedliche Methoden haben zu jeder Arraylist neue Kandidaten Objekte, neue Ereignisobjekte und neue Ergebnisobjekte hinzufügen. Jeder Teilnehmer kann an mehreren Veranstaltungen teilnehmen und für jede Veranstaltung mehrere Ergebnisse erstellen.

Was ich erreichen möchte ist, dass jedes Result-Objekt ein Contestant ArrayList-Objekt sowie ein Event ArrayList-Objekt referenziert - wie kann ich sie am besten verknüpfen?

+0

, warum Sie die komplette Arraylist Objekte aller Teilnehmer beziehen möchten und alle Veranstaltungen, es in Ordnung nur ein einzelnes Ereignis oder einzelne Teilnehmer zu beziehen ist entspricht dem Ergebnis – PyThon

+0

Erstelle eine 'ResultList' von 'Result' und übergebe sie an' Event', erstelle 'EventList' von' Event' und übergebe sie an 'Contestent'. Außerhalb all dieser Klassen machen Sie 'CollectionList' von' Collection'. –

Antwort

2

Ihre Event-Klasse sollte so sein, anstelle von Array-Liste können Sie Hashmap verwenden.

public class Event { 
//In this you can have contestantId as key and Event as value 
public static Map<String, Event> allEvents = new HashMap<String, Event>(); 

private String eventName; 

public Event (String eventName) { 
    this.eventName = eventName; 
} 

Und Ihr Ergebnis Klasse wie folgt sein sollte:

public class Result { 
//In this you can have eventName as key and Result as value 
public static Map<String, Result> allResults = new HashMap<String, Result>(); 

private double result; 
private int attemptNumber; 

public Result (double result, int attemptNumber) { 
    this.result = result; 
    this.attemptNumber = attemptNumber: 
} 
+0

Mit Result können Sie auf eventName zugreifen und mit eventName können Sie contestantId haben – emme

Verwandte Themen