Hallo zusammen,
ich muss leider nochmals um Hilfe bitte.
Mein Programm soll verschiedene Methoden zum sortieren enthalten.
Allerdings soll es eine generische Klasse sein.
Dahingehend habe ich auf mein Programm mit ArrayLists versehen, was auch geklappt hat.
Jetzt wollte ich im letzten Schritt auf generics umstellen, was sich als deutlich schwierger herausstellt, als gedacht.
Mein Problem: in der Methode bubblesorter möchte ich zwei Einträge aus der ArrayList vergleichen, was mit generics aber nicht mehr geht.
Gibt es hierzu eine einfache Möglichkeit das zu machen?
Oder gehe ich das komplett falsch an? Das bereitet mir mittlerweile echt Kopfschmerzen.
Anbei der Code und vielen Dank
[CODE lang="java" title="Generischer Bubblesort" highlight="33"]package Basics;
import java.util.*;
public class bubblesort <E> {
public E liste;
public ArrayList<E> arrayErstellung(){
int i;
E j;
Scanner sc = new Scanner(System.in);
System.out.println("Wie viele Zahlen moechten Sie eingeben?");
i = sc.nextInt();
ArrayList<E> eingabeListe = new ArrayList<>();
System.out.println("Geben Sie bitte die zu sortierende Werte an:");
//Werte ins Array eintragen
for (int k = 0; k < i; k++) {
j = (E) sc.next();
eingabeListe.add(k, j);
}
return eingabeListe;
}
public ArrayList<E> bubblesorter() {
E a;
ArrayList<E> bubblesortListe = arrayErstellung();
for(int k = 1; k < bubblesortListe.size(); k++){
for (int b = 0; b < (bubblesortListe.size() - k); b++) {
if (bubblesortListe.get(b) > bubblesortListe.get(b+1)) {
a = bubblesortListe.get(b);
bubblesortListe.set(b, bubblesortListe.get(b+1));
bubblesortListe.set(b+1, a);
}
}
}
return bubblesortListe;
}[/CODE]
ich muss leider nochmals um Hilfe bitte.
Mein Programm soll verschiedene Methoden zum sortieren enthalten.
Allerdings soll es eine generische Klasse sein.
Dahingehend habe ich auf mein Programm mit ArrayLists versehen, was auch geklappt hat.
Jetzt wollte ich im letzten Schritt auf generics umstellen, was sich als deutlich schwierger herausstellt, als gedacht.
Mein Problem: in der Methode bubblesorter möchte ich zwei Einträge aus der ArrayList vergleichen, was mit generics aber nicht mehr geht.
Gibt es hierzu eine einfache Möglichkeit das zu machen?
Oder gehe ich das komplett falsch an? Das bereitet mir mittlerweile echt Kopfschmerzen.
Anbei der Code und vielen Dank
[CODE lang="java" title="Generischer Bubblesort" highlight="33"]package Basics;
import java.util.*;
public class bubblesort <E> {
public E liste;
public ArrayList<E> arrayErstellung(){
int i;
E j;
Scanner sc = new Scanner(System.in);
System.out.println("Wie viele Zahlen moechten Sie eingeben?");
i = sc.nextInt();
ArrayList<E> eingabeListe = new ArrayList<>();
System.out.println("Geben Sie bitte die zu sortierende Werte an:");
//Werte ins Array eintragen
for (int k = 0; k < i; k++) {
j = (E) sc.next();
eingabeListe.add(k, j);
}
return eingabeListe;
}
public ArrayList<E> bubblesorter() {
E a;
ArrayList<E> bubblesortListe = arrayErstellung();
for(int k = 1; k < bubblesortListe.size(); k++){
for (int b = 0; b < (bubblesortListe.size() - k); b++) {
if (bubblesortListe.get(b) > bubblesortListe.get(b+1)) {
a = bubblesortListe.get(b);
bubblesortListe.set(b, bubblesortListe.get(b+1));
bubblesortListe.set(b+1, a);
}
}
}
return bubblesortListe;
}[/CODE]