Programování v jazyce Java PB162 Cvičenie 10 Equals a hashCode • Vytvorte triedu Product – Atributy • price: BigDecimal • name: String • eanCode: String • Prekryte metódy equals(Object o) a hashCode() • 2 body • 15 min • Použite bluej !!! Výčtový typ public enum Gender{ MALE, FEMALE } person.setGender(Gender.FEMALE); - Objektový typ - Každá hodnota dostane ordinálne číslo - Ake ordinálne číslo má MALE a FEMALE? - Môžme použiť vo switch Kolekcie • Balík java.util.* • Používame ich na prácu s množinami, zoznamami objektov • Všetky kolekcie implementujú rozhrania java.util.Collection • Neusporiadané kolekcie – Set, List, Map, Queue, Deque • Usporiadané kolekcie – SortedSet, SortedMap • Generické typy Neusporiadané kolekcie - Set • Reprezentujú nám množinu objektov • HashSet • LinkedHashSet Neusporiadané kolekcie - List • Reprezentujú nám zoznamy objektov • Jednotlivé inštancie objektov sa môžu opakovať • ArrayList • LinkedList Neusporiadané kolekcie - Map • Reprezentujú nám asociatívne polia • Vždy dvojice kľúč a hodnota • Jednotlivé inštancie objektov sa môžu opakovať, kľúče musia byť unikátne • HashMap Práca s kolekciami Set names = new HashSet(); names.add(“Marek”); names.add(“Peter”); names.remove(“Marek”); names.remove(“Jozef”); System.out.println(names.contains(“Marek”); System.out.println(names.contains(“Peter”); Prechádzanie kolekciami - forEach cyklus - for cyklus pri prechádzaní zoznamov - Iterátor Iterator it = names.iterator(); while(it.hasNext()){ String name = it.next(); } Trieda java.util.Collections - Poskytuje metódy pre prácu s kolekciami - Zoraďovanie zoznamov - Vyhľadávanie - Kopírovanie - Získavanie nemodifikovateľných kolekcií - ... Trieda java.util.Arrays - Poskytuje metódy pre prácu s poliami - Zoraďovanie zoznamov - Vyhľadávanie - Kopírovanie - Získavanie kolekcií - toString pre polia - equals pre polia Úprava rádia • Vytvorte triedu CD, ktorou nahradíte pole s pesnickami v autorádiu • Upravte rádio tak, aby malo pamäť na predvolené stanice • Upravte univerzálne ďiaľkové ovládanie tak, aby malo v pamäti, ktore zariadenia má ovládať – Je možné diaľkovému ovládaniu nastaviť, ktoré z predvolených zariadení sa ovláda momentálne