Тема  5. Коллекции

Содержание

  1. Общие понятия
    1. Интерфейсы
    2. Параметры типов
    3. Равенство и equals()
    4. Хэширование и hashCode()
  2. Списки
    1. Класс ArrayList
    2. Класс LinkedList
    3. Интерфейс List
    4. Arrays.asList
    5. Добавление и удаление элементов
    6. Индексированный доступ
    7. Итерация
  3. Множества
    1. Класс (Linked)HashSet
    2. Интерфейс Set
    3. Добавление и удаление элементов
    4. Итерация
  4. Коллекции
  5. Отображения
    1. Класс (Linked)HashMap
    2. Класс TreeMap
    3. Интерфейс Map
    4. Отображения как ассоциативные массивы
  6. Упорядоченные коллекции
    1. Сравнение и compareTo(..)
    2. Компараторы
    3. Класс TreeSet и интерфейс NavigableSet
    4. Класс TreeMap и интерфейс NavigableMap

Домашнее задание 6. Статистика слов++

  1. Разработайте класс Wspp, который будет подсчитывать статистику встречаемости слов во входном файле.
  2. Словом называется непрерывная последовательность букв, апострофов (') и дефисов (Unicode category Punctuation, Dash). Для подсчета статистики слова приводятся к нижнему регистру.
  3. Выходной файл должен содержать все различные слова, встречающиеся во входном файле, в порядке их появления. Для каждого слова должна быть выведена одна строка, содержащая слово, число его вхождений во входной файл и номера вхождений этого слова среди всех слов во входном файле.
  4. Имена входного и выходного файла задаются в качестве аргументов командной строки. Кодировка файлов: UTF-8.
  5. Программа должна работать за линейное от размера входного файла время.
  6. Для реализации программы используйте Collections Framework.
  7. Сложный вариант. Реализуйте и примените класс IntList, компактно хранящий список целых чисел.
  8. Примеры работы программы:
    Входной файлВыходной файл
        To be, or not to be, that is the question:
    
        to 2 1 5
        be 2 2 6
        or 1 3
        not 1 4
        that 1 7
        is 1 8
        the 1 9
        question 1 10
    
        Monday's child is fair of face.
        Tuesday's child is full of grace.
    
        monday's 1 1
        child 2 2 8
        is 2 3 9
        fair 1 4
        of 2 5 11
        face 1 6
        tuesday's 1 7
        full 1 10
        grace 1 12
    
        Шалтай-Болтай
        Сидел на стене.
        Шалтай-Болтай
        Свалился во сне.
    
        шалтай-болтай 2 1 5
        сидел 1 2
        на 1 3
        стене 1 4
        свалился 1 6
        во 1 7
        сне 1 8
    

Слайды

HTML

Примеры

zip

Практические навыки

  1. Базовые навыки в использовании стандартных коллекций