/** * Sucht in einem Klassenvektor nach einem Klassennamen. Liefert die UID der Klasse zurück, die * gefunden wurde. * * @param klassen Vektor, in dem die Klasse zu suchen ist * @param name Name der Klasse, die zu finden ist * @return UID der Klasse, wenn gefunden; wenn nicht gefunden -1 */ public static int findKlasse(Vector<Klasse> klassen, String name) { for (int i = 0; i < klassen.size(); i++) { Klasse k = klassen.get(i); if (name.equals(k.getName())) { return k.getUid(); } } return -1; }
/** * Sortiert einen Vektor von Klassen alphabetisch nach Namen. * * @param v Der Vektor, der zu sortieren ist * @param doIndex Wenn true, werden die UIDs nach dem Sortiervorgang neu gesetzt */ public static void sort(Vector<Klasse> v, boolean doIndex) { boolean isSorted = false; while (!isSorted) { isSorted = true; for (int i = 0; i < v.size() - 1; i++) { Klasse a = v.get(i); Klasse b = v.get(i + 1); if (a.compareTo(b) > 0) { v.setElementAt(b, i); v.setElementAt(a, i + 1); isSorted = false; } } } if (doIndex) { int uid = 1; for (int i = 0; i < v.size(); i++) { v.get(i).setUid(uid++); } } }
/** * Vergleicht diese Klasse mit einer anderen Klasse. Das Resultat ist ein Wert ähnlich dem * Rückgabewert der Funktion String.compareTo(). Diese Funktion vergleicht nur den Abteilungsteil * eines Klassen- Namens miteinander, nicht die Nummer oder den Buchstaben der Klasse. * * @param k Die Klasse, mit der verglichen werden soll * @return int-Wert wie bei String.compareTo() (es wird nur Abteilung verglichen) */ public int compareToByAbteilung(Klasse k) { return getAbteilung().compareTo(k.getAbteilung()); }