Search
V této části jsme pro vás sromáždili informace, o kterých si myslíme, že by se vám mohly hodit.
Příklad
public interface Predator { boolean chasePrey(Prey p); void eatPrey(Prey p); } public interface Prey { void hide(); void run(); } abstract public class Animal { abstract public void talk(); public Position getLocation(){...} } /** Trida implementujici dve interface a dedici od abstraktni tridy */ public class Frog extends Animal implements Predator, Prey { /** nutna definice metod abstraktni tridy */ public void talk(){...} /** nutna definice metod od interface */ public boolean chasePrey(Prey p) {...} public void eatPrey (Prey p) {...} public void hide() {...} public void run() {...} }
V třídě Collections se nacházejí užitečné statické metody pro páci s třídami typu Set, List, Map a třídami od nich odvozenými.
příklad
List<String> src = new ArrayList<String>(); src.add("a"); src.add("b"); src.add("c"); List<String> dst = new ArrayList<String>(); dst.add("e"); dst.add("f"); dst.add("g"); Collections.copy(dst,src); System.out.println(dst.toString()); // [a, b, c]
Pro porovnávání dvou prvků a zároveň i definici jejich pořadí v seznamech lze v Javě použít dva přístupy.
příklad třídy implementující Comparable
public class Employee implements Comparable<Employee> { private int empId; private String name; private int age; /** Porovnani podle cisla zamestnance */ public int compareTo(Employee o) { return this.empId - o.empId ; } ... }
příklad Comparatoru
public class EmpSortByNameComparator implements Comparator<Employee>{ /** Porovna jmena zamestnancu - String implementuje Comparable, proto lze pouzit compareTo() */ public int compare(Employee o1, Employee o2) { return o1.getName().compareTo(o2.getName()); } }
použití:
List<Employee> employees = new ArrayList<Employee>(); employees.add(new Employee(4, "Tomáš", 28)); employees.add(new Employee(1, "Zdeněk", 19)); employees.add(new Employee(2, "Bořek", 34)); employees.add(new Employee(3, "Adam", 40)); Collections.sort(employees); // natural ordering System.out.println(employees); Collections.sort(employees, new EmpSortByNameComparator()); // defined ordering System.out.println(employees);
Teď si některé z těchto věcí vyzkoušíte sami. Vaším úkolem bude napsat funkce vyhledávající a třídící automobily v jednoduché databázi. Stáhněte si připravený projekt, naimportujte si ho do Vašeho IDE a doplňte těla metod ve třídě CarsDatabase. Při implementaci se soustřeďte primárně na efektivitu při volání metod get…().
Zadání na interních stránkách.