# Objekte Sortieren lassen



## 5474n (27. Apr 2012)

Hallo,

Ich habe ein Objekt mit verschiedenen Attributen (Double, String).
Nun möchte ich die Objekte nach den Double von klein nach groß sortieren lassen und mit den Strings ausgeben.

Es können manchmal nur 2 Objekte, manchmal aber auch 10 Stück sein und alle sollen miteinander verglichen werden.

grüße


----------



## tfa (27. Apr 2012)

Speichere die Objekte in einer List und sortier diese mit Collections.sort(..). Hierzu brauchst du einen eigenen Comparator (oder deine Klasse implementiert Comparable).


----------



## 5474n (27. Apr 2012)

also 

```
public class Calculate implements Comparable<OutPuts>
```

anschließend brauche ich eine Liste, da meine Objekte davor alle in einem Vector gespeichert (brauche diesen in fast allen Klassen) wurden:


```
ArrayList<Object> list = new ArrayList<Object>(ouputsDatas);
```

Eclipse EE erstellt mir nun eine Methode


```
@Override

	public int compareTo(OutPuts arg0)
	{
		// TODO Auto-generated method stub
		return 0;
	}
```

wie muss ich die nun anpassen das meine ObjeKte sortiert werden?


----------



## Landei (27. Apr 2012)

Wenn, dann [c]public class OutPuts implements Comparable<OutPuts>[/c]. Und einen Vector kannst du auch sortieren, der implementiert nämlich auch das List-Interface. Allerdings musst du einen [c]Vector<OutPuts>[/c] haben und keinen [c]Vector<Object>[/c]. 

Ich glaube, du hast noch ziemlichen Nachholbedarf bei Generics, lies dich mal in der Insel oder so ein...


----------



## The_S (27. Apr 2012)

Java Blog Buch : D) Objekte sortieren – Comparator und Comparable


----------



## 5474n (27. Apr 2012)

Landei hat gesagt.:


> Ich glaube, du hast noch ziemlichen Nachholbedarf bei Generics, lies dich mal in der Insel oder so ein...



ja, ich habe mich noch nie wirklich damit beschäftigt!


----------



## ARadauer (27. Apr 2012)

statt

```
ArrayList<Object> list = new ArrayList<Object>(ouputsDatas);
```

machst du


```
ArrayList<Calculate> list = new ArrayList<Calculate>(ouputsDatas);
```

was du jetzt genau in die compareTo rein schreiben muss ist im Link von The_S sehr gut beschrieben...


----------



## 5474n (27. Apr 2012)

Danke an alle.
Habe es nun lösen können!


----------

