package kollekciok.treemap; import java.util.TreeMap; //Az Ember osztály class Ember { int id; String nev, szulHely; int szulEv; // Az Ember osztály alapértelmezett konstruktorának felülírása public Ember(int id, String nev, String szulHely, int szulEv) { this.id = id; this.nev = nev; this.szulHely = szulHely; this.szulEv = szulEv; } @Override //Az Ember osztály alapértelmezett toString() mettódusának felülírása public String toString() { return id + ", " + nev + ", " + szulHely + ", " + szulEv; } } public class KollekciokTreeMap { public static void main(String[] args) { /* NEM sorrendtartó, NEM ismétlődhetnek benne az elemek. Viszont RENDEZETT és használ KULCSOT!!! */ TreeMap<Integer, Ember> tm = new TreeMap(); Ember ember1 = new Ember(1, "Kis Kövecs", "Debrecen", 1978); Ember ember2 = new Ember(3, "Nagy Nepomuk", "Budapest", 1973); Ember ember3 = new Ember(18, "Horváth Hamilkár", "Nyíregyháza", 1989); Ember ember4 = new Ember(21, "Szabó Szeverián", "Nyíregyháza", 1990); Ember ember5 = new Ember(104, "Kovács Kerubin", "Budapest", 2002); tm.put(8, ember1); tm.put(32, ember2); tm.put(71, ember3); tm.put(5, ember4); tm.put(3, ember5); System.out.println(tm); System.out.println("Az első kulcs a TreeMap-ben: " + tm.firstKey()); System.out.println("Az első kulcs-érték pár a TreeMap-ben: " + tm.firstEntry()); // A 3-as kulcsú érték felülírása tm.put(3, new Ember(121, "Lakatos Lizander", "Nyíregyháza", 2013)); System.out.println(tm); /* Szabó Szeverián születési helyének és születési évének kiíratása. Ehhez be kell járni a TreeMap-et, s az értékek között - amik most az Ember osztály egy-egy példányai - kell keresni. */ for(Ember e : tm.values()){ if(e.nev.equals("Szabó Szeverián")){ System.out.println(e.szulHely + ", " + e.szulEv); } } /* Lambda kifejezések: (paraméter1, paraméter2) -> utasítás, vagy utasítás blokk Az utasítás blokk esetén a kapcsos zárójeleket kell használni! */ tm.forEach((kulcs, ertek) -> System.out.println("kulcs: " + kulcs + ", ertek: " + ertek)); } }