Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
docker
1

Какая реализация коллекций подойдет для больших объемов?

12.09.2006, 17:21. Просмотров 1835. Ответов 6
Метки нет (Все метки)

Добрый день!

В коллекциях планируется хранить длинные последовательности числовых ключей. Потом мерджить их, интерсептить с друг другом и т.д., т.к. активно работать с ними.

При этом многие из этих последовательностей могут быть и довольно маленькими.

Какой класс для этого лучше подойдет? Может ArrayList, т.к. в нем вообще не нужно заботиться capacity, и оно там не перевыделяется при превышении размера..?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2006, 17:21
Ответы с готовыми решениями:

Выделение больших объемов памяти в Java
Никак мне неясно, как можно в яве реализовать выделение больших объемов памяти. Проблема: пытаюсь...

Сравнить элементы двух коллекций <Float> и создать результирующую коллекцию, состоящую из больших элементов
Создайте метод , который позволяет сравнивать элементы двух коллекций &lt;Float&gt; и создать...

Свой сервер для хранения больших объемов информации
Подскажите пожалуйста. Сайт находится на платном хостинге, необходимо демонстрировать...

Связь SpinButton и Frame для отображения больших объемов информации
Здравствуйте! У меня вопрос на счет связи SpinButton и Frame. Если у меня в фрейм загружается...

6
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
12.09.2006, 19:43 2
1. ArrayList -- динамический массив. Другими словами, он расширяется, если есть необходимость. Можно не заботиться о начальном размере, когда создаешь объект ArrayList. Но, если примерно размер известен, то лучше создать сразу нужного размера. Ничего страшного если ошибешься немного =))



2. О чем речь? Просто о коллекции целых чисел? Порядок имеет значение? Сортировка имеет значение? Уникальность имеет значение? От от ветов на эти вопросы зависит ответ на вопрос "какая коллекция подойдет".



Не стесняйся, спрашивай. Про коллекции все расскажем =)) Гарантировано.
0
docker
12.09.2006, 22:49 3
Danissimo (12.09.2006)


2. О чем речь? Просто о коллекции целых чисел? Порядок имеет значение? Сортировка имеет значение? Уникальность имеет значение? От от ветов на эти вопросы зависит ответ на вопрос "какая коллекция подойдет".

Не стесняйся, спрашивай. Про коллекции все расскажем =)) Гарантировано.


О коллекциях последовательностей целых чисел, которые только единожды заполняются, а потом merge-утся, интерсептятся, т.е. подвергаются такого рода операциям. В результате этих операций - получаются, создаются новые коллекции, но первоначальные сами по себе не меняются. Т.е. элементы в(из) них вообще не добавляются и не удаляются.
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
12.09.2006, 23:41 4
Из 5 вопросов ты ответил только на 2.



Ок, пусть даны две коллекции, содержащие целые числа. Пусть в результате объединения появляется новая коллекция. Пусть элементы в каждой из первоначальных коолекций уникальны. Но, сещесвуют значения присутствующие в обоих коллекциях. Например,



c1 = (1 2 3)

c2 = (3 4 5)



Сколько троек будет содержать результирующая коллекция?



Ответь на ВСЕ вопросы. Поверь, я их не спроста задаю.
0
docker
13.09.2006, 00:01 5
Danissimo (12.09.2006)


Сколько троек будет содержать результирующая коллекция?

Ответь на ВСЕ вопросы. Поверь, я их не спроста задаю.
Ок-ок.

Дублирующие элементы не нужны. Т.е. 1 тройка.



Danissimo (12.09.2006)
2. О чем речь? Просто о коллекции целых чисел? Порядок имеет значение? Сортировка имеет значение? Уникальность имеет значение?
Коллекции целых чисел (т.ч. первичные ключи БД)

Порядок значения не имеет.

Сортировка не имеет значения.

Уникальность - вот да, имеет значение.

4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
13.09.2006, 00:12 6
Хе-хе. Тогда забудь про ArrayList. Тебе нужен HashSet. Тем более, что с ним операции merge и intersect реализуются в одну-две строчки. И ооооооооооочень быстро =)
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
13.09.2006, 00:18 7
Правда, должен тебя серьезно огорчить. Все будет очень быстро работать жо тех пор, пока не придет Garbage Collector. Дело в том, что в Java нету эффективной коллекции, чтобы манипулировать примитивными типами. Мы выкрутились из этой ситуации, написав свой, скажем, HashSet, но хранящий целые 64-разрядные числа. Работает в 4 (!) раза быстее, чем HashSet.



Рекомендую начать с HashSet. А уже потом, по мере необходимости, написать свою HashSet для long.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2006, 00:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Какая озу подойдет для материнки
Всем привет, есть материнка Gigabyte GA-H55M-UD2H H55M-UD2H ни как не пойму. Какой максимальный...

Какая видеокарта подойдет для телевизора?
Ребятки, надо собрать полностью системник для телевизора, бюджет 15-20. Какую видюху и проц лучше...

Какая видеокарта подойдет для моего пк
Я бы хотел узнать подойдет моя ли видеокарта nvidia 210 к моему пк или какая бы подошла?!?! Мои...

Какая OC подойдет для asus 1001 ?
всем доброго дня , есть нетбук asus 1001px проц 1.6ггц озу 1гига , посоветуйте для него...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.