Punkte anhand 3. Koordinate vergleichen

Peet0r

Mitglied
Hallo,

ich habe ein Objekt namens Punkt, das die drei Koordinaten x,y,z besitzen. Konstruktor:
Code:
public Punkt(int x,int y, int z)

Ich habe nun in einer ArrayList<Punkt> einige dieser Punkte liegen und möchte einige davon aussortieren. Konkret möchte ich von zwei Punkten a und b denjenigen löschen, bei denen
x_a = x_b, y_a = y_b und z_a < z_b ist. Also auf gut deutsch: wenn x und y gleich sind, dann soll bei diesem Wertepaar (x,y) nur das mit dem kleinsten z Wert übrigbleiben, die übrigen Punkte mit gleichem (x,y) und größerem z sollen entfernt werden.

Hat jemand eine Idee, wie ich das elegant bewerkstelligen könnte?
 

Chloroplast

Bekanntes Mitglied
Java:
public class Point{
private int x,y,z;

   public Point(int x, int y, int z){
      this.x = x;
      this.y = y;
      this.z = z;
   }

   public int getX(){
      return x;
   }
   public int getY(){
      return y;
   }
   public int getZ(){
      return z;
   }

   public boolean hasSmallerZ(Point p){
      if(p.getX() == x && p.getY() == y && p.getZ() < z)
         return true;
      retrun false;
   }


}

Java:
Point[] points;
int times = 0;
for(int i = 0; i < points.length; ++i){
   for(int j = i; j < points.length; ++j){
      if(points[i].hasSmallerZ(points[j])){
          points[i] = null;
          ++times;
      }
   }
}
int n = 0;
Point pointsNew = new Point[points.length-times];
for(int i = 0; i < points.length; ++i){
   if(points[i]!=null){
      pointsNew[n] = points[i];
      ++n
   }
}

so oder so ähnlich müsste es gehen
 

Peet0r

Mitglied
Wow, nahezu perfekt. Dein Code haut in der ersten for-Schleife eine NullPointerException raus, da man ja dann von einem Element, das man auf null gesetzt hat, die getX() usw. abfragen will. Das ist aber mit einer (if != null) Abfrage davor leicht zu umgehen.

Vielen Dank für die schnelle und die nach etwas Verständniszeit sehr einleuchtende Lösung :applaus:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
K Klassen Klasse erstellen, die Punkte eines Koordinatensystems repräsentiert? Java Basics - Anfänger-Themen 3
B Markieren einzelner Punkte in JFreeChart Java Basics - Anfänger-Themen 1
L0MiN Erste Schritte Neue Punkte zu einer Map hinzufügen und dauerhaft speichern? Java Basics - Anfänger-Themen 4
M Was bedeuten die Drei Punkte in einem Methodenkopf? Java Basics - Anfänger-Themen 3
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D Algorithmus für Punkte auf einem Kreis Java Basics - Anfänger-Themen 0
H Punkte werden falsch verbunden Java Basics - Anfänger-Themen 6
M Double Punkte Zeichnen Java Basics - Anfänger-Themen 7
T mehrere Punkte zeichnen ohne löschung Java Basics - Anfänger-Themen 4
J Punkte hinzufügen Tabelle Java Basics - Anfänger-Themen 5
P Pythagoras Baum - Berechnung der Punkte Java Basics - Anfänger-Themen 9
O Punkte auf einem Kreis "wandern" lassen Java Basics - Anfänger-Themen 3
M Polygon Punkte im Uhrzeigersinn sortieren Java Basics - Anfänger-Themen 2
0 Auf Karte in Planquadrate Punkte zeichnen? Java Basics - Anfänger-Themen 2
B Bitte um Hilfe es geht um Array + Punkte wie Dreieck,Fläche etc. Java Basics - Anfänger-Themen 12
T Punkte nicht löschen Java Basics - Anfänger-Themen 14
K Punkte verschieben Java Basics - Anfänger-Themen 6
M Abstand 2er Punkte (Klassen) Java Basics - Anfänger-Themen 11
J punkte verschwinden beim neuzeichnen neuer punkte Java Basics - Anfänger-Themen 11
P Hilfe für JComboBox, bmp einbinden/bestimmte punkte auf bmp Java Basics - Anfänger-Themen 3
Z Punkte, Koordinanten, Geraden zeichnen lassen Java Basics - Anfänger-Themen 8
V String überprüfen, nur Punkte und Zahlen erlaubt Java Basics - Anfänger-Themen 7
P Anzahl der Punkte in einer IP Adresse zählen? Java Basics - Anfänger-Themen 20
B 2D Punkte erstellen und ihre Länge berechnen/Problem this. Java Basics - Anfänger-Themen 3
J Punkte Noten zuweisen Java Basics - Anfänger-Themen 6
G Kann man in einem Dokument alle Kommas in Punkte umwandeln? Java Basics - Anfänger-Themen 10
M Datumsausgabe als String ohne Punkte erzeugen! Java Basics - Anfänger-Themen 5
T Matrix - äußerste Punkte pro Zeile Java Basics - Anfänger-Themen 7
A Punkte automatisch verbinden? Java Basics - Anfänger-Themen 3
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
Y Suche von Studenten anhand Ihrer Eigenschaften. Java Basics - Anfänger-Themen 1
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
E Input/Output Datei anhand von Dateinamen einlesen Java Basics - Anfänger-Themen 5
N Erste Schritte HSV color space - schwarz und weiß nur anhand von Saturation oder Multiplikator ermitteln Java Basics - Anfänger-Themen 14
M String zerlegen anhand anderer String Java Basics - Anfänger-Themen 6
M Allgemeine Java-Frage anhand bspw. Eclipse Java Basics - Anfänger-Themen 4
U Anhand von Ant ein War-File erstellen Java Basics - Anfänger-Themen 0
D Instanz einer Subklasse anhand deren Superklasse Java Basics - Anfänger-Themen 5
F Text anhand bestimmter Trennzeichen in Textteile trennen (netbeans) Java Basics - Anfänger-Themen 7
A Rekursion (anhand von Mergesort) nachvollziehen Java Basics - Anfänger-Themen 4
X Bildabschnitt anhand der Farbe und messen Java Basics - Anfänger-Themen 4
U Vererbung Suche Hilfe anhand eines Bsp. Java Basics - Anfänger-Themen 1
O ArrayListe sortieren anhand zweier Parameter Java Basics - Anfänger-Themen 4
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
N kleine get-Methode anhand einer Aufgabenstellung Java Basics - Anfänger-Themen 13
K Samstag einer Woche anhand eines Datum Java Basics - Anfänger-Themen 3
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
S Datentypen Reflection Cast anhand eines Strings? Java Basics - Anfänger-Themen 7
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
H Anhand von Jar, andere Jar öffnen Java Basics - Anfänger-Themen 7
J Bild anhand von Koordinaten zeichnen Java Basics - Anfänger-Themen 10
T Uhrzeigersinn anhand von Koordinaten Java Basics - Anfänger-Themen 7
H Objekt aus array holen anhand des Objekttypen Java Basics - Anfänger-Themen 8
D Methode anhand deren Name aufrufen Java Basics - Anfänger-Themen 4
S Komposition beispiel anhand eines kopierers Java Basics - Anfänger-Themen 4
R Vergleich von Objekten anhand variierender Kriterien Java Basics - Anfänger-Themen 5
M Umfang von Rechteck oder Kreis anhand der Parameter Java Basics - Anfänger-Themen 2
L rechtecke zeichnen anhand von matrix Java Basics - Anfänger-Themen 27
A Threads anhand eines Tokens abarbeiten Java Basics - Anfänger-Themen 7
G Arrayliste mit Objekt anhand von Strings sortieren Java Basics - Anfänger-Themen 8
O Zugriffskontrolle anhand von IP-Adressbereichen Java Basics - Anfänger-Themen 11
G Elemente in einer ArrayList anhand ID löschen Java Basics - Anfänger-Themen 17
A Objekte in ArrayList anhand Variable sortieren Java Basics - Anfänger-Themen 10
G Auswahl anhand Wahrscheinlichkeiten Java Basics - Anfänger-Themen 5
G Zeichenkette anhand einer anderen Zeichenkette trennen Java Basics - Anfänger-Themen 6
Chucky Rekursion grafisch darstellen anhand eines Applets Java Basics - Anfänger-Themen 14
X Anhand eines Objektnamen ein Objekt finden Java Basics - Anfänger-Themen 11
L Koordinate mit meisten Überlappungen in 3D-Raum finden Java Basics - Anfänger-Themen 9
J Y-Koordinate von GUI-Objekt bestimmen Java Basics - Anfänger-Themen 2
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
J Die Y Koordinate von einer anderen Klasse auch verändern Java Basics - Anfänger-Themen 1
H Koordinate in Zahlenwert umwandeln Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben