(1) Создайте новый класс с именем Gerbil
, в конструкторе которого следует инициализировать поле типа int
— int gerbilNumber
(по аналогии с примером класса Mouse
из этой главы). Напишите метод hop()
, который выводит номер объекта Gerbil
. Создайте объект Vector
и добавьте несколько объектов Gerbil
в этот Vector
. Теперь используйте метод elementAt()
для прохода по всем элементам Vector
и вызова метода hop()
для каждого объекта Gerbil
.
(2) Измените упражнение 1 таким образом, чтобы использовать Enumeration
для прохода по Vector
при вызове метода hop()
.
(3) В файле AssocArray.java
измените пример так, чтобы он использовал Hashtable
вместо AssocArray
.
(4) Получите класс Gerbil
из упражнения 1 и поместите его экземпляры в Hashtable
. Приведите имя каждого Gerbil
как ключ (String
) и сам объект Gerbil
как значение. Получите Enumeration
для ключей и используйте его для прохода по Hashtable
, находите каждый Gerbil
по ключу, выводите ключ, а затем передайте Gerbil
в метод hop()
.
(5) Измените упражнение 1 из главы 7, чтобы вместо этого использовать Vector
для хранения объектов Rodent
(грызуна). Используйте Enumeration
для прохода по последовательности Rodent
. При этом помните, что Vector
может содержать только объекты; поэтому при доступе к отдельному Rodent
потребуется преобразование (например, RTTI).(6) Перейдите к середине главы 7 и найдите пример файла GreenhouseControls.java
(контроль над теплицей), состоящий из трех файлов. В файле Controller.java
класс EventSet
представляет собой простую коллекцию. Измените его так, чтобы вместо EventSet
использовался Stack
. Конечно, замена EventSet
на Stack
не является единственным требованием; также потребуется использование Enumeration
для прохода по набору событий. Возможно, будет удобнее иногда рассматривать эту коллекцию как Stack
, а иногда как Vector
.(7) (Сложность выше среднего) Найдите исходный код для Vector
в библиотеках Java, предоставляемых вместе со всеми выпусками Java. Скопируйте этот код и создайте специальную версию intVector
, содержащую только данные типа int
. Подумайте, можно ли сделать специальные версии Vector
для всех примитивных типов данных. Далее рассмотрите возможность создания связного списка, который мог бы работать с любыми примитивными типами данных. Если бы в Java были предоставлены параметризованные типы, то это позволило бы автоматически выполнить данную задачу (а также много других задач).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )