Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Array vs Vector / 12 сообщений из 12, страница 1 из 1
29.03.2006, 16:32
    #33633032
GrayRat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
Такой вот вопрос к уважаемым форумчанам: что лучше использовать для хранения двумерного набора значений с точки зрения:

а) производительности
б) удобства работы

На выбор:

1) Vector
2) Array
3) ArrayList

Возможны варианты

Характеристики набора значений: известна размероность по горизонтали, но количество строк заранее неизвестно. Кроме того хранятся неоднородные элементы: String, Long, Double (короче Object)

Я тут пошукал: говорят, что вектор свое отгулял, на смену аррэйлист пришел вроде... но это так говорят
...
Рейтинг: 0 / 0
29.03.2006, 16:38
    #33633054
М.Голованов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
Vector и ArrayList - одно и то же, за исключением одной существенной разницы: операции с Vector синхронизированы (а значит, их можно безопасно выполнять из нескольких параллельных потоков). Операции с ArrayList не синхронизированы. Поэтому если список используется только в одном потоке, он безусловно предпочтительнее (потому что операции с ним гораздо быстрее за счет отсутствия синхронизации). Так же, как HashMap в одном потоке предпочтительнее Hashtable.
...
Рейтинг: 0 / 0
29.03.2006, 16:41
    #33633063
Array vs Vector
Самое быстрое для тебя будет ArrayList[]. Удобно или нет - решай сам.

Основное отличие Vecor от ArrayList'а в том, что первый синхронизирован, второй нет.
...
Рейтинг: 0 / 0
29.03.2006, 16:43
    #33633072
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
GrayRat

> Я тут пошукал: говорят, что вектор свое отгулял, на смену
> аррэйлист пришел вроде... но это так говорятТема==Ответить




У Vector синхронизированные методы, у ArrayList - нет, вся
разница. Соответственно 2ой работает быстрее

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.03.2006, 16:43
    #33633073
Сергей Ильич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
Для синхронизированных коллекция теперь предночительнее делать так:
Код: plaintext
1.
List list = Collections.synchronizedList( new  ArrayList());
...
Рейтинг: 0 / 0
29.03.2006, 16:57
    #33633119
GrayRat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
А насчет Array какие буду мнения?

Там вроде по индексу элемента обращаться можно, без вызова метода?..

Или это только так кажется, что все хорошо?
...
Рейтинг: 0 / 0
29.03.2006, 17:05
    #33633141
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
не в тему: LinkedList
...
Рейтинг: 0 / 0
29.03.2006, 17:11
    #33633161
GrayRat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
Почему не в тему? У нас все в тему

Но собственно хотелось бы услышать комментарии в плане того, кто и что использовал для работы с подобными данными

Соответственно (а) насколько быстро все работало и (б) легко было кодить
...
Рейтинг: 0 / 0
29.03.2006, 17:14
    #33633178
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
GrayRatА насчет Array какие буду мнения?

Там вроде по индексу элемента обращаться можно, без вызова метода?..

Или это только так кажется, что все хорошо?

Зачем тебе нужен "массив"?
- будет ли его размерность меняться?
- почему объекты могут быть разных классов?
- как будет осуществляться доступ к его элементам (произвольно, последовательно, выпендрёжно)?
- ...


Если размерность меняться не будет, то лучше обычный array, иначе ArrayList.
Если логика доступа "сложна", то аррай нужно обернуть классом и поместить в него всю эту логику.
Если использовать аррай лист для реализации двумерного массива, то его тоже лучше обернуть классом, чтобы избежать дублирования операций доступа.


раскрой нам тайну, зачем? :)
...
Рейтинг: 0 / 0
29.03.2006, 17:40
    #33633290
GrayRat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
Генерятся данные для дальнейшго их вывода в отчет такого типа:

Код объекта
Наименование объекта

Характиристика 1
Характиристика 2
... и т.д.
Итого

Вызывается все из jsp, вот я значит и подумал, чтобы на jsp все это не вешать посчитать все с session bean'е, а потом вернуть в страничку массив определенной структуры

Еще надо будет по данным характеристиками объекты проранжировать и тоже в массив ранг запихнуть
...
Рейтинг: 0 / 0
29.03.2006, 17:43
    #33633306
GrayRat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
Я в целом склонаюсь с вектору (т.к. заранее число строк у меня неизвестно), с элементами типа array, т.к. количество характеристик я знаю заранее (их пользователь выбирает) + 3 элемента под код, наименование и итого
...
Рейтинг: 0 / 0
29.03.2006, 18:08
    #33633391
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Array vs Vector
GrayRatГенерятся данные для дальнейшго их вывода в отчет такого типа:

Код объекта
Наименование объекта

Характиристика 1
Характиристика 2
... и т.д.
Итого

Вызывается все из jsp, вот я значит и подумал, чтобы на jsp все это не вешать посчитать все с session bean'е, а потом вернуть в страничку массив определенной структуры

Еще надо будет по данным характеристиками объекты проранжировать и тоже в массив ранг запихнуть

Ты используешь массив в качестве "нетипизированных записи". Это плохо. Массив служит для хранения однотипных объектов.

Преврати каждый "массив определенной структуры"(с) в класс, с полями доступа к объектам структуры (class Elka {getPrice():Double, getName():String, etc}). Если у тебя общая структура для всех объектов, то совсем хорошо.

Cгрупируй эти классы в виде массивов (Elka[]) или типизированных коллекций (List<Ekla>).

Если типов несколько оберни их в класс Report c методами getElki(): List<Elka>, getXXX(): List<XXX> и т.д. и передавай в jsp именно его.

Зачем это надо?

Хотя бы не придётся мучаться, пытясь понять, что же должно быть в 5 ячеке у объекта такого-то кодом eklmn.
Появится возможность поместить в эти классы полезные методы (если сейчас не надо, потом точно захочется:)).
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Array vs Vector / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]