Java : массивы и коллекции. Массивы Массивы простых типов: int []a = new int[10]; int []b = new int[]{ 0, 1, 2, 3, 4, 5 }; Массивы ссылочных типов (reference.

Презентация:



Advertisements
Похожие презентации
Контейнеры Сортировка Метод sort() Интерфейс Comparable метод int compareTo(Object o) вызов: Arrays.sort(a) Интерфейс Comparator метод int compare(Object.
Advertisements

Ассоциативные списки Поиск данных происходит не по индексу или положению объекта, а по его ассоциативной связи: public interface Map { // Доступ к объектам.
1 Java 10. КОЛЛЕКЦИИ Основные концепции. Интерфейсы. Списки.
Java Collections Framework Commons-collections Коллекции в многопоточной среде Коллекции в Java.
Collections Framework Java Advanced. 2Georgiy KorneevJava Advanced / Collections Framework Содержание 1.Коллекции 2.Множества 3.Списки 4.Очереди 5.Отображения.
Collections Framework Java Advanced. 2Georgiy KorneevJava Advanced / Collections Framework Содержание 1.Коллекции 2.Множества 3.Списки 4.Очереди и деки.
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
Коллекции Итераторы Лекция 6. Коллекции Итераторы.
Коллекции: алгоритмы, генерики. Приведение типов Предположения о типах объектов: void innerMethod( Object o ){ //Ошибка времени выполнения int val = (Integer)o;
1 © Luxoft Training 2013 Модуль 4 Обзор Collections Framework Интерфейс java.util.Collection и его реализации Итерация коллекций Сравнение элементов, интерфейсы.
Классы и объекты Лекция 2. Классификатор Класс Интерфейс Экземпляр класса Ассоциация Квалификатор Класс ассоциации Обобщение Украшение Тип данных Пакеты.
САОД кафедра ОСУ 1 Основные абстрактные типы данных Схема процесса создания программ для решения прикладных задач ВУ.
Saint Petersburg, 2012 Java Lecture #1 Intro DSA Collections.
1 Параметризация типов в Java public class Box { private Object object; public void add(Object object) { this.object = object; } public Object get() {
1 Java 10. КОЛЛЕКЦИИ Множества Карты отображений.
Задания к типовому расчету Изучить методы сортировки одномерных массивов: модифицированный метод простого выбора и метод парных перестановок Нечетные варианты.
Библиотека стандартных шаблонов (STL) ( Standard Template Library) набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому.
КоллекцииИтераторы Типы, допускающие неопределенное значение Обработка исключений Лекция 5.
Разработчики: Деникин А.В., Деникина Н.В.1 МАССИВЫ В C#. Содержание Принципы работы с массивами Типовые алгоритмы обработки массивов Сортировка массивов.
Абстрактный тип данных список. Операции над абстрактным списком Создать пустой список Уничтожить список Определить, пуст ли список Определить количество.
Транксрипт:

Java : массивы и коллекции

Массивы Массивы простых типов: int []a = new int[10]; int []b = new int[]{ 0, 1, 2, 3, 4, 5 }; Массивы ссылочных типов (reference types): Object []c = new Object[10]; Object []d = new Object[]{ new Object(), new Object() }; boolean bResult = c.equals(true); //NullPointerException boolean bResult = d.equals(true); //ok, false

Работа с массивами Добавление элемента – требуется пересоздание с копированием: int []a = new int[10]; … int []temp = new int[ a.length + 1 ]; System.arraycopy( a, 0, temp, 0, a.length ); temp[ temp.length-1 ] = 111; a = temp; А также операции поиска, сортировки и удаления элемента – дополнительный объем кода.

Коллекции Динамическое управление содержимым: – методы add/remove имеют разную реализацию для разных типов коллекций; Возможность использовать оптимальную реализацию общего интерфейса Collection для конкретной задачи: – Использование итераторов на основе различных алгоритмов; Методы преобразования коллекций.

Иерархия классов Collection – интерфейс с общим описанием методов для трех типов коллекций; Set – реализует множество, не может содержать повторяющихся элементов; List – упорядоченный список (последовательность); Queue – очередь (например, для реализации алгоритма FIFO); Map – карта для «значения» по «ключу»; SortedSet – множество, упорядоченное по возрастанию; SortedMap – карта, упорядоченная по возрастанию ключевых значений.

Collection – общие методы для коллекций Добавление: add, addAll Удаление: remove, removeAll, retainAll, clear Поиск: contains, iterator Количество: isEmpty, size Преобразование: toArray() Если требуется преобразование к массиву определенного типа: String []s = collection.toArray( new String[]{} );

Реализация множеств – подклассы Set HashSet – обеспечивает наилучшую производительность, но порядок элементов может меняться во время выполнения; TreeSet – обеспечивает сортировку элементов; LinkedHashSet – обеспечивает сохранение первоначального порядка элементов.

Реализация списков – подклассы List ArrayList – обеспечивает хранение элементов списка в оптимальной для поиска форме; LinkedList – обеспечивает хранение элементов списка в оптимальной форме для удаления/вставки;

Реализация карт – подклассы Map HashMap – обеспечивает наилучшую производительность, порядок элементов может меняться во время выполнения; TreeMap – обеспечивает сортировку элементов по ключам; LinkedHashMap – обеспечивает сохранение первоначального порядка заполнения.

Измерение времени Получить текущее системное время в миллисекундах: long msTime = System.currentTimeMillis();

Задание 1 Разработать программу для тестирования скорости работы с: - массивами (тип int); -списками (java.util.ArrayList, LinkedList); -множествами (java.util.HashSet, java.util.LinkedHashSet). Количество элементов: Начальный размер массива – 1 элемент, на каждой итерации требуется пересоздание массива.

Задание 2 Разработать программу, в методе main которой задается массив строк. Реализовать вывод дублирующихся строк и количество уникальных слов. Использовать интерфейс и подклассы java.util.Set.

Задание 3 Разработать программу, в методе main которой задается массив строк. Реализовать вывод множества дублирующихся слов и множества уникальных слов. Использовать интерфейс и подклассы java.util.Set.

Задание 4 Разработать программу, в методе main которой заполняется список, некоторые значения которого равны null. Реализовать метод заменяющий значения null на заданное в параметре значение. Использовать подклассы java.util.List, а также интерфейс java.util.ListIterator.

Задание 5 Разработать программу, в методе main которой задается массив строк. Реализовать вывод списка слов и количества их повторений в исходном массиве. Использовать подклассы интерфейса java.util.Map.

Справочная информация Учебные материалы по коллекциям: ons/index.html Общие интерфейсы коллекций: ctions/interfaces/index.html Конкретные классы коллекций: ctions/implementations/index.html