Kollekciók – TreeSet
package kollekciok.treeset;
import java.util.TreeSet;
public class KollekciokTreeSet {
public static void main(String[] args) {
/* TreeSet: NEM sorrendtartó, NEM ismétlődhetnek benne az elemek,
NEM használ kulcsot. Viszont RENDEZETT!!!
A rendezés alapesetben oké, de ha pl. a magyar ékezetes karaktereket kell rendezni,
az már nem megy neki, csak ha megvalósítjuk az ún. Comparable interfészt. */
TreeSet ffiNevek = new TreeSet();
TreeSet<String> noiNevek = new TreeSet();
ffiNevek.add("Balambér"); noiNevek.add("Pompónia");
ffiNevek.add("Ödön"); noiNevek.add("Pompónia");
ffiNevek.add("Jukundusz"); noiNevek.add("Immakuláta");
ffiNevek.add("Fernándó"); noiNevek.add("Szüntüké");
ffiNevek.add("Ödön"); noiNevek.add("Küllikki");
System.out.println(ffiNevek);
ffiNevek.add("Ábel");
System.out.println(ffiNevek);
ffiNevek.pollFirst(); //Eltávolítja az első elemet.
ffiNevek.pollLast(); // Eltávolítja az utolsó elemet.
System.out.println(ffiNevek);
System.out.println(ffiNevek.first());
System.out.println(ffiNevek.last());
ffiNevek.remove("Jukundusz");
System.out.println(ffiNevek);
// A "Pompónia"-tól kisebb elemeket adja vissza.
System.out.println(noiNevek.headSet("Pompónia"));
// A "Pompónia"-tól nagyobb vagy egyenlő elemeket adja vissza.
System.out.println(noiNevek.tailSet("Pompónia"));
//Visszaadja a TreeSet legnagyobb elemét, amely az adott elemnél kisebb vagy egyenlő. Ha ilyen elem nincs, akkor null-t ad vissza.
System.out.println(noiNevek.floor("Pompó"));
//Visszaadja a TreeSet legkisebb elemét, amely nagyobb, mint az adott elem. Ha ilyen elem nincs, akkor null-t ad vissza.
System.out.println(noiNevek.higher("Pompónia"));
// Fordított sorrend
System.out.println("Fordított sorrend: " + noiNevek.descendingSet());
System.out.println("---------------------");
// TreeSet<String> szavak = new TreeSet(String.CASE_INSENSITIVE_ORDER);
TreeSet<String> szavak = new TreeSet();
szavak.add("asztal");
szavak.add("szék");
szavak.add("Asztal");
szavak.add("sZéK");
szavak.add("POLC");
szavak.add("polc");
System.out.println(szavak);
System.out.println(szavak.subSet("asztal", "sZéK"));
szavak.removeIf( sz -> sz.equals("polc") );
System.out.println(szavak);
}
}