Mal ein Vorschlag, wie ich das gemeint habe.
Der Vorteil ist, dass der "Leerraum" keinen Platz benötigt, weil in der Liste nur tatsächliche interstellare Objekte aufgeführt sind.
[CODE=java]// interface für alle interstellaren Objekte
public interface InterstellarObj {
Position getPosition(); // wie Position funktioniert kannst du bestimmen, entweder ein Kubus mit x,y,z oder vielleicht das galaktische Koordinatensystem?
}
// Beispielobjekt Stern
public class Star implements InterstellarObj {
private Position position;
private String name;
public Star(Position position, String name) {
this.position = position;
this.name = name;
}
@Override
public Position getPosition() {
return position;
}
@Override
public String toString() {
return name;
}
}
// oder Planet (nur umrissen)
public class Planet implements InterstellarObj {
// siehe Klasse Star
}
// Das Universum
public class Universe {
private List<InterstellarObj> interstellarObjects = new ArrayList<>(); // oder eine Map<Position, InterstellarObj> damit man besseren Zugriff über die Position hat.
public void add(InterstellarObj object) {
this.interstellarObjects.add(object);
}
}
// Hauptprogramm
Universe universe = new Universe();
InterstellarObj sun = new Star(new Position(x,y,z), "Sonne"); // x,y,z sind nur Platzhalter
universe.add(sun); // jetzt hat das Universum eine Sonne :)
[/CODE]
https://de.wikipedia.org/wiki/Galaktisches_Koordinatensystem