Ich habe hier einen Sortier Algorithmus programmiert, der einen LinkedList mitbekommt in der sich Objekte befinden. In den Objekten befindet sich ein Integer Wert auf den ich zugreifen muss damit mein Sortierungsverfahren funktioniert, aber ich kann auf Sie nicht zugreifen.
Hier mein Sortier-Algorithmus:
Falls nötig hier noch meine Main-Klasse:
Ich hoffe ihr könnt mjir helfen,....
MFG, Alexander
Hier mein Sortier-Algorithmus:
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package prozessverwaltung;
import java.util.Comparator;
import java.util.LinkedList;
/**
*
* @author Alexander
*/
public class Sort {
LinkedList list;
public Sort (LinkedList list){
this.list = list;
}
Comparator c = new Comparator () {
@Override
public int compare(Object o1, Object o2) {
int x = 0;
if (o1.hashCode() < o2.hashCode()){
x = -1;
}
if (o1.hashCode() == o2.hashCode()){
x = 0;
}
if (o1.hashCode() > o2.hashCode()){
x = 1;
}
return x;
}
};
public LinkedList mySort(LinkedList list, Comparator c){
int comp = 0;
int x;
int y;
for(int i = 0; i < list.size()-1; i++){
x = (int)list.get(i)(.int-Wert);//So würde ich mir das vorstellen, aber es kommt ständig einen Fehlermeldung.
y = (int)list.get(i+1)(.int-Wert);//Hier das selbe
comp = c.compare(x, y);
if (comp == 1){
list.set(i, y);
list.set(i+1, x);
mySort (list, c);
}
}
return list;
}
}
Falls nötig hier noch meine Main-Klasse:
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package prozessverwaltung;
import java.util.Comparator;
import java.util.LinkedList;
/**
*
* @author Alexander
*/
public class Prozessverwaltung {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Prozess a = new Prozess ("Steam");
a.setiD(1);
a.setPrioritaet(5);
Prozess b = new Prozess ("RamVerwaltung");
b.setiD(2);
b.setPrioritaet(1);
Prozess c = new Prozess ("UpdateExe");
c.setiD(3);
c.setPrioritaet(3);
LinkedList list = new LinkedList ();
list.add(a);
list.add(b);
list.add(c);
Verwaltung w = new Verwaltung (list);
Prozess d = new Prozess ("Pdf");
d.setiD(4);
d.setPrioritaet(10);
w.ProzessHinzufügen(d);
Sort s = new Sort (list);
Comparator y = s.c;
s.mySort(list, y);
for (int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}
}
Ich hoffe ihr könnt mjir helfen,....
MFG, Alexander