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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечение с вектора, ка, подскажпте, плиз 
:(
    Опции темы
Рамирос
Дата 15.3.2010, 19:12 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Подскажите, пожалуйста, как елемент вывести с вектора.?
Я вот записал внего масив, в определённый индекс,  а какже извлеч?

Код
vector.setSize(20);
vector.addElement(array);
       vector.insertElementAt(array,10);
//кудаже следующий код?

vector.elementAt(10);

 

Это сообщение отредактировал(а) Рамирос - 15.3.2010, 19:18
PM MAIL   Вверх
Dancer
Дата 16.3.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

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



smile 
 smile 
Начни уже книжки нужные читать.
Вот скажи, чем принципиально будет отличаться объект, любого класса, от массива.
Самое главное, что в массиве, к элементу ты всегда обращаешься по индексу (опустим всякие хитрости, взятия адреса и смещения, путём математических действий)
У объекта, нету никаких индексов, есть методы, и переменные (если они открытые)
В вектор кладутся ОБЪЕКТЫ!!!!!
Массив - с точки зрения Vector это то же Объект. Кладёшь объект, вытаскиваешь объект, причём всегда воспринимается это как наследник класса Object. То есть, по извлечению элемента из вектора, необходимо его кастовать, то есть приводить к нужному тебе типу, чтобы с этим оъектом в дальнейшем можно было работать, как ты это предполагал.
Если ты создал вектор, для того чтобы хранить там какое-то количество элеметов типа массив, то получается в каждом элементе вектора у тебя будет находиться массив из N элементов.
То есть, сначала вытаскиваешь массив, далее из этого массива элемент.
Например:
Код

import java.util.*;

public class test {
    public static void main(String args[]) {
        int[] array1 = {1, 2, 3};
        int[] array2 = {11, 22, 33};
        Vector vec = new Vector();
        vec.add(array1);
        vec.add(array2);
        array1[0] = 123;

        for(int i = 0; i < vec.size(); i++) {
            int[] tmp = (int[])vec.elementAt(i);
            Log("Vec(" + i + "): " + tmp);
            for(int j =0; j < tmp.length; j++) {
                Log("array["+j+"]: " + tmp[j]);
            }
            Log("==============================");
            
        }
    }

    private static void Log(String str) {
        System.out.println(str);
    }
}



Если же ты хочешь элементы массива положить в Вектор, и обращаться к элементам через методы вектора, то:
Код

.....
vector.setSize(20);
if(array != null) {
    for(int i=0; i<array.length; i++) {
        vector.add(new Integer(array[i])); // если конечно у тебя элементы в массиве это int
    }
}
....
int tmp = ((Integer)vector.elementAt(0)).intValue();




--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Рамирос
Дата 16.3.2010, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Пасиба, но у меня ничего не выходит
PM MAIL   Вверх
Dancer
Дата 16.3.2010, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

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



А чего не получается то?
Ты можешь рассказать, по шагам: (телепатов тут нету)
1. что ты хочешь сделать
2. как ты сейчас это делаешь
2.1 что получается в результате, и что по твоему не правильно
лучше, если это будут куски именно твоего кода



--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Рамирос
Дата 16.3.2010, 22:01 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



вотето у меня не работает,  ввектор  язаписывал масив такойже
Код


public int tmp[]; 

tmp= (int[])vec.elementAt(i);
 

Это сообщение отредактировал(а) Рамирос - 16.3.2010, 23:00
PM MAIL   Вверх
Dancer
Дата 17.3.2010, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

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



Цитата(Рамирос @  16.3.2010,  22:01 Найти цитируемый пост)
вотето у меня не работает,  ввектор  язаписывал масив такойже

3,14здёшь!

Кто допустил ребёнка до компа!!!! (и сразу к программированию????)
Или кто-то из форумчан свой комп не лочит, когда от него отходит. Но я не верю что можно так долго и так много глупых вопросов задавать.
Либо это не твоё, и тогда это нужно оставить (попытки программировать). Либо если ты действительно хочешь в этом преуспеть, то необходимо много самостоятельно "работать" и обучаться (особенно по началу много читать)

вставь себе в код твоего главного класса (ну или куда захочешь) эти методы. Вызови их и посмотри логи.

Код

int[] makeIntArray(int size) {
    if(size < 0) 
        return null;

    int[] array = new int[size];
    for(int i=0; i< array.length; i++) {
        array[i] = i;
    }
}

Vector makeVectorFromArray(int[] mas) {
    if(mas == null) 
        return null;

    Vector vec = new Vector();

    for(int i=0; i<mas.length; i++) {
        vec.add(new Integer(mas[i]));
    }

    return vec;
}

String showIntVectrorValues(Vector vec) {
    StringBuffer sb = new StringBuffer();

    if(vec != null) {
        try {
            sb.append("Vector: ").append(vec).append("\n");
            for(int i=0; i < vec.length; i++) {
                sb.append("value[").append(i).append("]: ").append(((Integer)vec.elementAt(i)).intValue()).append("\n");
            }
            sb.append("=====================\n\n");
        } catch(Trhowable t) {
            sb.delete(0, sb.length());
            sb.append("ERROR: ").append(t.toString());
        }
    } else {
        sb.append("Warning: Sorry, but your Vector object is NULL");
    }

    return sb.toString();
}

.......
Vector vector = makeVectorFromArray(makeIntArray(10));
System.out.println(showIntVectror(vector));



--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Рамирос
  Дата 17.3.2010, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



1. Были бы нормальные книги в воьном доступе. но их увы нету. Или дайте ссыль!!!
2. Толку заниматься ИССЛЕДОВАНИЕМ кода, нужна книга, см пн. 1
3. Я не ребёнок, мне 21, занимаюсь програмиррованием больше года (php), но по яве нету инфы. еслибы была. я бы тут не спрашивал! Или я не знаком со смыслом программирования на яве. См. пн. 1
4. Можно так долго задавать вопросы, когда нету нормальной инфы, см. пн. 1
5. программирование ето моё. но...       Но когда нету инфы, то яже не буду изобретать свой собственный я зык.
6. Толку работать самостоятельно, если работать нету щем!! См. пн. 1

Всё что мне нужно ето справочник на русском с примерами!!

- есть на английском без примеров (просто набор слов)
- есть пару примеров без справочника на русском!

Если вы дадите ссыль на такой ресурс, то мне не преёдётся продвигать етот форум в поисковике, ибо в нем появляются много слов

Это сообщение отредактировал(а) Рамирос - 17.3.2010, 12:42
PM MAIL   Вверх
Dancer
Дата 17.3.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

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



Ёпстудей .........

Какие же "МЫ" всётаки ленивые.......
http://forum.vingrad.ru/forum/java-general.html
http://forum.vingrad.ru/forum/topic-9229.html
http://forum.vingrad.ru/forum/topic-114549.html
http://forum.vingrad.ru/forum/computer-books-literature.html
И это только то что можно быстренько нахватать на данном форуме.

А уж если постучаться во всемогущий ГуГиЛь............. (ах дух захватывает)
"Java книги бесплатно скачать на русском" (уверяю, что будет дохрена и больше ссылок и примеров и много чего ещё)


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Рамирос
Дата 17.3.2010, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Dancer, пасиба..

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

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

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


 




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


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

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