|
|
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Такой вот вопрос к уважаемым форумчанам: что лучше использовать для хранения двумерного набора значений с точки зрения: а) производительности б) удобства работы На выбор: 1) Vector 2) Array 3) ArrayList Возможны варианты Характеристики набора значений: известна размероность по горизонтали, но количество строк заранее неизвестно. Кроме того хранятся неоднородные элементы: String, Long, Double (короче Object) Я тут пошукал: говорят, что вектор свое отгулял, на смену аррэйлист пришел вроде... но это так говорят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:32 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Vector и ArrayList - одно и то же, за исключением одной существенной разницы: операции с Vector синхронизированы (а значит, их можно безопасно выполнять из нескольких параллельных потоков). Операции с ArrayList не синхронизированы. Поэтому если список используется только в одном потоке, он безусловно предпочтительнее (потому что операции с ним гораздо быстрее за счет отсутствия синхронизации). Так же, как HashMap в одном потоке предпочтительнее Hashtable. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:38 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Самое быстрое для тебя будет ArrayList[]. Удобно или нет - решай сам. Основное отличие Vecor от ArrayList'а в том, что первый синхронизирован, второй нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:41 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
GrayRat > Я тут пошукал: говорят, что вектор свое отгулял, на смену > аррэйлист пришел вроде... но это так говорятТема==Ответить У Vector синхронизированные методы, у ArrayList - нет, вся разница. Соответственно 2ой работает быстрее ----------------------------------- The Bat + My Gate Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:43 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Для синхронизированных коллекция теперь предночительнее делать так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:43 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
А насчет Array какие буду мнения? Там вроде по индексу элемента обращаться можно, без вызова метода?.. Или это только так кажется, что все хорошо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 16:57 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
не в тему: LinkedList ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:05 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Почему не в тему? У нас все в тему Но собственно хотелось бы услышать комментарии в плане того, кто и что использовал для работы с подобными данными Соответственно (а) насколько быстро все работало и (б) легко было кодить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:11 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
GrayRatА насчет Array какие буду мнения? Там вроде по индексу элемента обращаться можно, без вызова метода?.. Или это только так кажется, что все хорошо? Зачем тебе нужен "массив"? - будет ли его размерность меняться? - почему объекты могут быть разных классов? - как будет осуществляться доступ к его элементам (произвольно, последовательно, выпендрёжно)? - ... Если размерность меняться не будет, то лучше обычный array, иначе ArrayList. Если логика доступа "сложна", то аррай нужно обернуть классом и поместить в него всю эту логику. Если использовать аррай лист для реализации двумерного массива, то его тоже лучше обернуть классом, чтобы избежать дублирования операций доступа. раскрой нам тайну, зачем? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:14 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Генерятся данные для дальнейшго их вывода в отчет такого типа: Код объекта Наименование объекта Характиристика 1 Характиристика 2 ... и т.д. Итого Вызывается все из jsp, вот я значит и подумал, чтобы на jsp все это не вешать посчитать все с session bean'е, а потом вернуть в страничку массив определенной структуры Еще надо будет по данным характеристиками объекты проранжировать и тоже в массив ранг запихнуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:40 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
Я в целом склонаюсь с вектору (т.к. заранее число строк у меня неизвестно), с элементами типа array, т.к. количество характеристик я знаю заранее (их пользователь выбирает) + 3 элемента под код, наименование и итого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:43 |
|
||
|
Array vs Vector
|
|||
|---|---|---|---|
|
#18+
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. Появится возможность поместить в эти классы полезные методы (если сейчас не надо, потом точно захочется:)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 18:08 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33633054&tid=2149766]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 444ms |

| 0 / 0 |
