Философия Java


Упражнения - часть 3


  • Повторите проблему из InfiniteRecursion.java.
  • Создайте класс, затем создайте инициализированный массив объектов вашего класса. Заполните List из вашего массива. Создайте подмножество вашего List, используя subList( ), а затем удалите подмножество из вашего List, используя removeAll( ).
  • Измените Упражнение 6 в Главе 7, чтобы программа использовала ArrayList для хранения Rodent, и Iterator для перемещения по последовательности объектов Rodent. Помните, что ArrayList хранит только Object, поэтому вы должны выполнять приведение, когда получаете доступ к индивидуальному объекту Rodent.
  • Следуя примеру Queue.java, создайте класс Deque и проверьте его.
  • Используйте TreeMap в Statistics.java. Теперь добавьте код, который проверяет различия производительности HashMap и TreeMap в этой программе.
  • Постройте Map и Set, содержащих все страны, начинающиеся с буквы ‘A’.
  • Используя Collections2.countries, заполните Set несколько раз одними и теми же данными и проверьте, что Set содержит только одну копию. Попробуйте проделать это с обоими видами Set.
  • Начиная с Statistics.java, создайте программу, которая несколько раз запускает тест и проверяет, что одни номера появляются в результате чаще других.
  • Перепишите Statistics.java, используя HashSet объектов Counter (измените Counter так, чтобы он работал в HashSet). Какой подход кажется лучше?
  • Измените класс из Упражнения 13 так, чтобы он работал с HashSet и как ключ с HashMap.
  • Используя SlowMap.java для вдохновения, создайте SlowSet.
  • Примените тесты в Map1.java к SlowMap для проверки его работы. Найдите что-нибудь в SlowMap, что не работает правильно.
  • Реализуйте оставшуюся часть интерфейса Map для SlowMap.
  • Измените MapPerformance.java для включения в проверку SlowMap.
  • Измените SlowMap так, чтобы вместо двух ArrayList, он содержал один ArrayList из объектов MPair. Проверьте, что измененная версия работает правильно. Используя MapPerformance.java, проверьте скорость вашего нового объекта Map. Теперь измените метод put( ) так, чтобы он выполнял сортировку после введения каждой пары, и измените get( ), чтобы он использовал Collections.binarySearch( ) для поиска ключа. Сравните производительность новой версии и старой.



  • Начало  Назад  Вперед



    Книжный магазин