Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Робота с Java коллекциями, обзор всех видов + примеры 
V
    Опции темы
Sergio
Дата 18.3.2007, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: нет
Всего: 1



Здраствуйте. Учу сейчас коллекции. Насколько я понял есть три вида:
  •  Arrays (Массивы. Вообщем нужны для роботы с примитивными типами (int, char, long, etc))
  •  Iterators (Итераторы. Нужны для пробежки по объектам)
  •  Collections (Коллекции или контейнеры. Они сохранияют объекты. Сюда относятся: Collection, Set, List, Map)
Если что не так, то поправте меня. И вот первые проблемы  с итератором:
Код

public class Car{

 public void destroy() {. . .}

    public static void main(String[] args) {
    ArrayList<Car> list = new ArrayList<Car>();        
     for (int a=0; a<10; a++)
            list.add(new Car());
         
    Iterator<Car> it = list.iterator();                  
    }
}

Поясните как мне применить иттератор к листу. Чтобы потом пробежатся по нему использовав метод next() и вызвать метод destroy() для каждого объекта листа.
  


Это сообщение отредактировал(а) Sergio - 18.3.2007, 21:59
PM MAIL ICQ   Вверх
powerOn
Дата 18.3.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159





--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Sergio
Дата 18.3.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: нет
Всего: 1



powerOn,  я читал тутор, но не очень понял. Я подняял эту тему чтобы самому разобратся и другие поймут. Хочу сделать в виде урока.

Добавлено @ 22:08 
Вот решение задачи: 
Код

public class Car{
    public void destroy() {
        System.out.println("destroy car");
    }

    public static void main(String[] args) {
        ArrayList<Car> list = new ArrayList<Car>();        
         for (int a=0; a<10; a++)
           list.add(new Car());
         
            Iterator<Car> it = list.iterator();  //<<<<< создание итератора для list
             while(it.hasNext())
                    it.next().destroy();                          
    }
}

Если кто не понял то спрашивайте.

Я так понимаю, что Set контейнер нужен для сохранения уникальных объектов(тоесть два одинаковых мы не впихнём). А Map нужен для будущего поиска по критерию(тоесть оп ключу"Object key"). Если что -то не так то поправте. Спасибо.

Это сообщение отредактировал(а) Sergio - 18.3.2007, 22:52
PM MAIL ICQ   Вверх
nornad
Дата 19.3.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Set - множество уникальных значений. Map - "карта" значений, каждое из которых хранится по своему уникальному ключу. В принципе, сами ключи карты можно получить в виде множества.
Теперь немного о применении.
Множества удобно применять, например для простого хранения списка логинов - логины не могут повторяться и легко проверить, есть ли в множестве заводимый логин и разрешить или запретить заведение в зависимости от результата.
Карту удобно применять, если кроме самих уникальных объектов надо хранить ещё и какую-то дополнительную информацию для каждого из них. В примере с логинами это может быть, например, контактная информация пользователя.

Добавлено @ 00:10 
Цитата(Sergio @  19.3.2007,  00:47 Найти цитируемый пост)
Здраствуйте. Учу сейчас коллекции. Насколько я понял есть три вида:

    *  Arrays (Массивы. Вообщем нужны для роботы с примитивными типами (int, char, long, etc))
    *  Iterators (Итераторы. Нужны для пробежки по объектам)
    *  Collections (Коллекции или контейнеры. Они сохранияют объекты. Сюда относятся: Collection, Set, List, Map)

Итераторы коллекциями не являются.  smile 
Итератор - объект для последовательного прохода по коллекции.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
LSD
Дата 19.3.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538





--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.