Содержание
- 2. public class BoxDemo {public static void main(String[ ] args) { Box integerBox = new Box(); …
- 3. Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at BoxDemo.main(BoxDemo.java:6) Параметризация типов в
- 4. public class Box { private T t; // T stands for "Type" public void add(T t)
- 5. Создание объекта параметризованного класса (generic type invocation): Box integerBox = new Box (); public class BoxDemo
- 6. BoxDemo3.java:5: add(java.lang.Integer) in Box cannot be applied to (java.lang.String) integerBox.add("10"); ^ 1 error Таким образом вместо
- 7. Параметризованный класс может иметь несколько параметров, но они должны обозначаться разными буквами. class Box - error!
- 8. Параметризованные методы public class Box { private T t; public void add(T t) { this.t =
- 9. Параметризованные методы public static void main(String[ ] args) { Box integerBox = new Box (); integerBox.add(new
- 10. Ограниченная параметризация (bounded type parameters) public void inspect(U u) {System.out.println("T: " + t.getClass().getName()); System.out.println("U: " +
- 11. Ограниченная параметризация (bounded type parameters) Extends в данном случае понимается и как extends и как implements:
- 12. Подтипизация Box box = new Box (); box.add(new Integer(10)); // OK box.add(new Double(10.1)); // OK …
- 13. Подтипизация Box IntegerBox = new Box (); Box DoubleBox = new Box (); boxTest(IntegerBox ); //error!
- 14. Wildcards Box someBox = ...; //upper bound Box someBox = ...; //lower bound Box someBox =
- 15. Wildcards Box someBox = new Box (); Box IntegerBox = new Box (); Box DoubleBox =
- 16. Wildcards public void boxTest (Box n) { … } Box IntegerBox = new Box (); Box
- 17. Очистка типа (Type erasure) На этапе компиляции вся информация о параметризованных типах удаляется. Это позволяет сохранить
- 18. Очистка типа (Type erasure) public class MyClass { public void myMethod(Object item) { if (item instanceof
- 19. Очистка типа (Type erasure) public class WarningDemo { public static void main(String[ ] args) { Box
- 20. Очистка типа (Type erasure) WarningDemo.java:4: warning: [unchecked] unchecked conversion found : Box required: Box bi =
- 21. Библиотека классов Java Коллекции. Структура коллекций Коллекция – это объект-контейнер, включающий группу, как правило, однотипных объектов.
- 22. Библиотека классов Java Коллекции. Структура коллекций Преимущества использования структуры коллекций: Избавление от рутинных операций по кодированию
- 23. Библиотека классов Java Коллекции. Интерфейсы Все коллекции в Java являются параметризованными public interface Collection ...
- 24. Библиотека классов Java Коллекции. Интерфейс Collection public interface Collection extends Iterable { int size(); boolean isEmpty();
- 25. Библиотека классов Java Коллекции. Интерфейс Collection … boolean containsAll(Collection c); boolean addAll(Collection c); boolean removeAll(Collection c);
- 26. Библиотека классов Java Коллекции. Перемещение по коллекции 1. For-each for (Object o : collection) System.out.println(o); 2.
- 27. Библиотека классов Java Коллекции. Перемещение по коллекции Collection cs = new ArrayList (); cs.add("1"); cs.add("2"); cs.add("3");
- 28. Библиотека классов Java Коллекции. Перемещение по коллекции Collection cs = new ArrayList (); cs.add("1"); cs.add("2"); cs.add("3");
- 29. Библиотека классов Java Коллекции. Перемещение по коллекции Метод remove() может быть вызван только один раз после
- 30. Библиотека классов Java Коллекции. Интерфейс Set Set – коллекция без повторяющихся элементов (математическое множество). Методы совпадают
- 31. Библиотека классов Java Коллекции. Интерфейс Set import java.util.*; public class FindDups { public static void main(String[
- 32. Библиотека классов Java Коллекции. Интерфейс SortedSet Интерфейс SortedSet из пакета java.util, расширяющий интерфейс Set, описывает упорядоченное
- 33. Библиотека классов Java Коллекции. Интерфейс SortedSet • Comparator Comparator() — возвращает способ упорядочения коллекции; • Object
- 34. Библиотека классов Java Коллекции. Интерфейс SortedSet SortedSet headSet (Object toElement) — возвращает начальные, меньшие элементы до
- 35. Библиотека классов Java Коллекции. Интерфейс Comparator • int compare (Object obj1, object obj2) — возвращает отрицательное
- 36. Библиотека классов Java Коллекции. Интерфейс Comparator class ComplexCompare implements Comparator {public int compare(Object obj1, Object obj2)
- 37. Библиотека классов Java Коллекции. Интерфейс Comparator TreeSet ts = new TreeSet(new ComplexCompare()); ts.add(new Complex(1.2, 3.4)); ts.add(new
- 38. Библиотека классов Java Коллекции. Интерфейс List Интерфейс List из пакета java.util, расширяющий интерфейс Collection, описывает методы
- 39. Библиотека классов Java Коллекции. Интерфейс List • void add(int index, Object obj) — вставляет элемент obj
- 40. Библиотека классов Java Коллекции. Интерфейс List • int lastIndexOf (Object obj) — возвращает индекс последнего появления
- 41. Библиотека классов Java Коллекции. Интерфейс ListIterator • void add(Object element) — добавляет элемент element перед текущим
- 42. Библиотека классов Java Коллекции. Интерфейс ListIterator • Object previous() — возвращает предыдущий элемент и делает его
- 43. Библиотека классов Java Коллекции. Интерфейс Map Интерфейс Map из пакета java.util описывает коллекцию, состоящую из пар
- 44. Библиотека классов Java Коллекции. Интерфейс Map • boolean containsKey (Object key) — Проверяет наличие ключа key;
- 45. Библиотека классов Java Коллекции. Интерфейс Map • Set keySet() — представляет ключи коллекции в виде множества;
- 46. Библиотека классов Java Коллекции. Интерфейс Map.Entry • методы getKey() и getValue() позволяют получить ключ и значение
- 47. Библиотека классов Java Коллекции. Интерфейс SortedMap Интерфейс SortedMap, расширяющий интерфейс Map, описывает упорядоченную по ключам коллекцию
- 48. Библиотека классов Java Коллекции. Интерфейс SortedMap • Comparator comparator() — возвращает способ упорядочения коллекции; • Object
- 49. Библиотека классов Java Коллекции. Интерфейс SortedMap • SortedMap subMap (Object fromKey, Object toKey) — возвращает часть
- 50. Библиотека классов Java Коллекции. Реализации
- 51. Библиотека классов Java Коллекции. Реализации
- 52. Библиотека классов Java Коллекции. Алгоритмы сортировки Сортировка может быть сделана только в упорядочиваемой коллекции, реализующей интерфейс
- 53. Библиотека классов Java Коллекции. Алгоритмы сортировки Сортировка является быстрой и стабильной: гарантирована скорость не ниже n*log(n)
- 54. Библиотека классов Java Коллекции. Алгоритмы поиска • static int binarySearch(List coll, Object element) — отыскивает элемент
- 55. Библиотека классов Java Коллекции. Алгоритмы «перемешивания» • static void shuffle (List coll) — случайные числа задаются
- 56. Библиотека классов Java Коллекции. Алгоритмы манипуляции с данными static void reverse(List coll) меняет порядок расположения элементов
- 57. Библиотека классов Java Коллекции. Алгоритмы экстремумов static Object max (Collection coll) – возвращает наибольший в естественном
- 59. Скачать презентацию