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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание множества объектов 
:(
    Опции темы
Reptor
Дата 12.4.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вопрос состоит в следующем. Есть к примеру класс точка у которого есть свойства: координата-х, координата-у, приоритет. Так вот как мне в цикле создать множество этих точек (к примеру 30 со своими координатами и приоритетом) так что б я потом мог легко обращатся к этим объектам. Как надо подобрать имена или это будет  масив объектов? Как это зделать правельно, красиво и что было удобно обращатся к конкретному объекту - точка?
PM MAIL ICQ   Вверх
Boing747
Дата 12.4.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А как насчет коллекций? Добавил свои классы в коллекцию и можешь через итератор к ним обращаться или по индексу.
PM MAIL   Вверх
Reptor
Дата 12.4.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

А как насчет коллекций? Добавил свои классы в коллекцию и можешь через итератор к ним обращаться или по индексу.


а как это зделать я токо вот вот начал изучать  Java поэтому если можно то на примере.
PM MAIL ICQ   Вверх
Boing747
Дата 12.4.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

mport java.util.ArrayList;
import java.util.Iterator;

public class Test {
    ArrayList<Pointer> list = new ArrayList<Pointer>();

    public Test() {
        
     addPointer(4, 5);
     addPointer(7, 8);
     addPointer(72, 68);
     // т д
     
     //Выведем информацию
     Iterator<Pointer> iterator=list.iterator();
     while (iterator.hasNext())
     {
      Pointer p=iterator.next();
      System.out.println(p.getX()+" "+p.getY());
     }
     
     
    }

    
    public void addPointer(int x,int y)
    {
         Pointer pointer= new Pointer(x,y);
         //создали экземпляр класса
         list.add(pointer);
         //добавили в коллецию    
    }
    
    
    
    public static void main(String[] args) {
        Test test = new Test();

    }

    public class Pointer {
        
        public Pointer(int x,int y)
        {
         this.x=x;
         this.y=y;
        }
        
        private int x;

        private int y;

        public int getX() {
            return x;
        }

        public void setX(int x) {
            this.x = x;
        }

        public int getY() {
            return y;
        }

        public void setY(int y) {
            this.y = y;
        }

    }

}


PM MAIL   Вверх
Reptor
Дата 12.4.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а как установить итератор на произвольную точку например на точку 10 (ну например как в масиве индекс указали и всё)  и от неё уже начать перебирать следующие точки?
PM MAIL ICQ   Вверх
Boing747
Дата 12.4.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Итератором так не получится. Можешь использовать так Pointer p= list.get(10); возьмеш 11-ый элемент(нумерация с нуля) и т д
а получить количество всех в коллекции так list.size();
PM MAIL   Вверх
Reptor
Дата 12.4.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а можно как то установить итератор например есть что то типа list.set(10) и дальше если зделать next то получим 11 и так далее дальше в цикле тоесть начать перебор с 10-ой точки?
PM MAIL ICQ   Вверх
LSD
Дата 12.4.2007, 14:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Цитата(Reptor @  12.4.2007,  13:44 Найти цитируемый пост)
а как установить итератор на произвольную точку например на точку 10 (ну например как в масиве индекс указали и всё)  и от неё уже начать перебирать следующие точки?

Код
ListIterator<Pointer> listIterator = list.listIterator(10);

Плюс ListIterator позволяет прердвигаться и вперед, и назад.


--------------------
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   Вверх
Boing747
Дата 12.4.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

Плюс ListIterator позволяет прердвигаться и вперед, и назад.


Ух ты, это и мне полезно.   smile . 
LSD, снимаю шляпу.
PM MAIL   Вверх
Reptor
Дата 12.4.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а где можно подробно посмотреть про  итераторы и их возможности?
PM MAIL ICQ   Вверх
LSD
Дата 12.4.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Подробно есть в JavaDoc, а вообще у нас в FAQ есть пара статей про коллекции.


--------------------
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   Вверх
Reptor
Дата 12.4.2007, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



LSD,  а можно какието ссылки (желательно русские) я искал и ничего толкового не подыскал все так вокруг да около.
PM MAIL ICQ   Вверх
LSD
Дата 12.4.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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   Вверх
Reptor
Дата 12.4.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Ну вроде с этим понятно токо вот не совсем понятно зачем эти нужны <Pointer>

Код

 ArrayList<Pointer> list = new ArrayList<Pointer>();

Код

  Iterator<Pointer> iterator=list.iterator();

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


Эксперт
***


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

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



Цитата(Reptor @  12.4.2007,  19:37 Найти цитируемый пост)
токо вот не совсем понятно зачем эти нужны <Pointer>

Это указание компилятору, каким классом параметризована коллекция. Если утрировать, то это описание того, какой тип объектов хранится в коллекции.
Рекомендую взять книжку по пятой или шестой жабе и почитать - намного меньше будет вопросов, подобных "а чего это за символ 'a' в имени переменной?".
Можно книжку и по более ранним версиям жабы, но generics (параметризация классов и методов) появились только в пятой жабе и с ними всё равно потом придётся разбираться.

Это сообщение отредактировал(а) nornad - 12.4.2007, 17:24


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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