Verschieden Typen

4by4

Mitglied
Hey Leute,

Folgendes. Ich habe mir verschiedene Sortier Algorithmen geschrieben.
Ich möchte jetzt Strings, Chars, Int... sortieren ohne extra eine neue Methode zu schreiben.

Java:
int[] a = { 2, 7, 8, 16, 15, 1, 4, 3, 9, 13, 13, 14, 5, 10, 12, 11, 6 };
        System.out.println(Arrays.toString(a));
        a = Sort.xyzSort(a, Sort.ASC);
        System.out.println(Arrays.toString(a));
        a = Sort.xyzSort(a, Sort.DESC);
        System.out.println(Arrays.toString(a));
       
        char[] b = { 'B', 'F', 'G', 'P', 'O', 'A', 'D', 'C', 'I', 'J', 'J', 'N', 'H', 'M', 'L', 'K', 'E' };
        System.out.println(Arrays.toString(b));
        b = Sort.xyzSort(b, Sort.ASC);
        System.out.println(Arrays.toString(b));
        b = Sort.xyzSort(b, Sort.DESC);
        System.out.println(Arrays.toString(b));


public class Sort {

    public static int ASC = 0;
    public static int DESC = 1;

    public static int[] xyzSort(int[] array, int order) {
        Comparable[] a = new Comparable[array.length];
        for (int i = 0; i < a.length; i++) {
            a[i] = array[i];
        }
        a = xyzSort(a, order);
        for (int i = 0; i < a.length; i++) {
            array[i] = (int) a[i];
        }
        return array;
    }

    public static char[] xyzSort(char[] array, int order) {
        Comparable[] a = new Comparable[array.length];
        for (int i = 0; i < a.length; i++) {
            a[i] = array[i];
        }
        a = xyzSort(a, order);
        for (int i = 0; i < a.length; i++) {
            array[i] = (char) a[i];
        }
        return array;
    }

    public static String[] xyzSort(String[] array, int order) {
        Comparable[] a = new Comparable[array.length];
        for (int i = 0; i < a.length; i++) {
            a[i] = array[i];
        }
        a = xyzSort(a, order);
        for (int i = 0; i < a.length; i++) {
            array[i] = (String) a[i];
        }
        return array;
    }

    private static Comparable[] xyzSort(Comparable[] array, int order) {
            //Hier wird sortiert
   return a;
   }

Es funktioniert zwar mit dem Comparable array, aber Eclipse gibt mir alles Warnungen raus.
Gibt es eine "schönere/bessere" Lösung?
 
Zurück