Aug 29

Hier  wie bereits angekündigt, die Erklärung, wie über ein fremdes Objekt verglichen werden kann

class NameSort  implements Comparator <Angestellter>{


public int compare (Angestellter a, Angestellter b){


return a.Nachname.compareTo(b.Nachname);


}
// Implementierung der Methode analog zu vorangegangenen Beispiel

}// Implementierung einer “Hilfsklasse” für die Sortierung

class Angestellter { // hier muss Comparator nicht nochmals implementiert werden

int PersNr;
String Vorname;
String Nachname;

Angestellter (int PersNr, String Vorname, String Nachname){


this.PersNr=PersNr;
this.Vorname=Vorname;
this.Nachname=Nachname;


}


public String toString(){

return(PersNr + ” ” + Vorname +  ” ” + Nachname);


}

public static void main(String[] args) {

List <Angestellter> a = new ArrayList <Angestellter> ();
a.add(new Angestellter (1, “Peter”, “Müller”));
a.add(new Angestellter (2, “Ina”, “Meier”));
a.add(new Angestellter (3, “Anja”, “Schmitz”));

NameSort b = new NameSort(); // Anlegen des Hilfsobjektes

Collections.sort(a,b); // Funktioniert ähnlich wie bei vorherigen Beispiel   


}


}

Das zweite Objekt dient also nur dazu, den Vergleichsmechanismus mitzuteilen und zu übergeben.

Anstatt  Collections.sort(a,b) kann auch Collections.sort(a, new NameSort()) geschrieben werden werden.

Tagged with:
Aug 27

Es gibt noch eine zweite Sortiermöglichkeit; auch hier anhand eines Beispiels erklärt:

class Angestellter implements Comparator <Angestellter>{

private int PersNr;
private String Vorname;
private String Nachname;

Angestellter (int PersNr, String Vorname, String Nachname){

this.PersNr=PersNr;
this.Vorname=Vorname;
this.Nachname=Nachname;

}

public int compare (Angestellter a, Angestellter b){

return a.Nachname.compareTo(b.Nachname);

}


public String toString(){

return(PersNr + ” ” + Vorname +  ” ” + Nachname);

}

public static void main(String[] args) {

List <Angestellter> a = new ArrayList <Angestellter> ();
a.add(new Angestellter (1, “Peter”, “Müller”));
a.add(new Angestellter (2, “Ina”, “Meier”));
a.add(new Angestellter (3, “Anja”, “Schmitz”));

List <String> b = new ArrayList <String> ();

Collections.sort(a,a.get(2)); // Funktioniert jetzt

}

}

Es wird also das Interface Comparator implementiert, deren zu implementierende Methode public int compare (Object a, Object b) zwei vorgegebene Werte miteinander vergleicht.

Mit Collections.sort(Object 1, Object2) kann dann verglichen und die Sortierung vorgenommen werden.

Anstatt von Collections.sort(a,a.get(2)); sind auch andere Schreibweisen ok; z.B.

Collections.sort (a, new Angestellter(1,”2″,”3″));

Collections.sort(a, a.get(0));

Selbst die Implementierung über eine andere Klasse ist möglich; hierauf gehe ich beim nächsten Mal genauer ein

Tagged with:
Aug 26

Kann eine Methode, die  in der Oberklasse als private final deklariert wurde, in einer Unterklasse implementiert werden?

Antwort/ answer
Tagged with:
Aug 26

Was ist der Output des folgenden Codes:

int a= 011;
System.out.println(a);



Antwort/ answer

Tagged with:
Aug 25

Heute will ich das Comparable-Interface vorstellen; es dient dazu, Probleme von Collections.sort(<Name>) zu heben, bzw. bietet erweiterte Sortiermechanismen an.

Hier ein Beispiel:

class Angestellter implements Comparable {

private int PersNr;
private String Vorname;
private String Nachname;

Angestellter (int PersNr, String Vorname, String Nachname){


this.PersNr=PersNr;
this.Vorname=Vorname;
this.Nachname=Nachname;


}


public int compareTo (Angestellter a){


return Nachname.compareTo(a.Nachname);


}

public String toString(){

return(PersNr + ” ” + Vorname + ” ” + Nachname);


}

public static void main(String[] args) {

List a = new ArrayList ();
a.add(new Angestellter (1, “Peter”, “Müller”));
a.add(new Angestellter (2, “Ina”, “Meier”));
a.add(new Angestellter (3, “Anja”, “Schmitz”));

List b = new ArrayList ();

Collections.sort(a); // Funktioniert jetzt


}


}

Die Klasse Angestellter wurde um das Interface Comparable erweitert und die dazugehörige Funktion public compare_to(<Object>) implementiert.  In unserem Falle wird der Methode mitgeteilt, dass es nach Nachname vergleichen soll. Somit hat Collections.sort(a) jetzt Regeln an der Hand, wie zu vergleichen ist und läuft fehlerfrei

Tagged with:
Aug 24

Was ist der Output des folgenden Codes?

private class Angestellter {

Angestellter(){

int a = 10;
System.out.println(a);

}

}

class Buchhalter extends Angestellter {

static int a = 12;

static public void main(String[] Args) {

Buchhalter b = new Buchhalter();
System.out.println(a);

}

}



Antwort/ answer

Tagged with:
Aug 23

Collections.sort(<Name>
hat leider auch einige Einschränkungen, hier erstmal ein Beispiel:

class Angestellter {

private int PersNr;
private String Vorname;
private String Nachname;

Angestellter (int PersNr, String Vorname, String Nachname){
this.PersNr=PersNr;
this.Vorname=Vorname;
this.Nachname=Nachname;
}

public String toString(){
return(PersNr + ” ” + Vorname + ” ” + Nachname);
}

public static void main(String[] args) {

List a = new ArrayList ();
a.add(new Angestellter (1, “Peter”, “Müller”));
a.add(new Angestellter (2, “Ina”, “Meier”));
a.add(new Angestellter (3, “Anja”, “Schmitz”));

for (int i = 0; i
System.out.println(a.get(i));

}

}

Die Anwendung von Collections.sort(a) ergibt einen Kompilerfehler, da beim Sortiermechanismus immer nur 1 Argument (und nicht z.B. 3 wie in unserem Beispiel) benutzt werden darf.

Tagged with:
Aug 22

Wie ist der Output des folgenden Codes?

int a=10+’1′;
byte b=255;
String c=”ab”+’cde’;

System.out.println(10+1+” “+a+” “+b+” “+c);

Antwort/ answer
Tagged with:
Aug 21

Collections können mit Collections.sort(<Name>); sortiert werden, hier ein Beispiel:

List a = new ArrayList<Integer>();
a.add(7);
a.add(3);
a.add(1);
a.add(5);

System.out.println(“Vor Sortierung:”);
for (int i = 0; i < a.size(); i++)
System.out.println(a.get(i));

Collections.sort(a);

System.out.println(“Nach Sortierung”);
for (int i = 0; i < a.size(); i++)
System.out.println(a.get(i));

Ausgabe:

Vor Sortierung:
7
3
1
5
Nach Sortierung
1
3
5
7

3T6DZE5Q74SW

Tagged with:
Aug 20

Was ist der Output des folgenden Codes:

String a = “abc”;
String b = “abc”;
if(a == b)

System.out.println(“a==b”);;

else

System.out.println(“a!=b”);;

if(a.equals(b))

System.out.println(“a.equals(b)”);;

else

System.out.println(“!a.equals.b”);


Antwort/ answer

Tagged with:
preload preload preload
http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
Webbhotell Top Blogs