| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > перебор массива |
| Автор: Alone 20.10.2003, 15:17 |
| Подскажите какой способ хранения данных использовать лучше, чтоб был быстрый перебор массива? String[] ? LinkedList ? Other ? Задача состоит в реализации алогоритма поиска по нужному полю в 2хмерном массиве... Вот, думаю, какй тип данных использовать? |
| Автор: Sun 20.10.2003, 18:06 |
| Использование классов вроде ArrayList или LinkedList несколько препредпочтительнее, чем просто массив, так как они содержат много вспомагательных методов для работы с данными, в том числе и поиск. Но для работы с двухмерным массивом они не предусмотрены. Можно правда создать список, каждым элементом которого будет ссылка на другой список, правда при таком подходе усложняется доступ к элементам. Хотя эту сложность можно инкапсулировать в методы доступа к элементам. Например String getElement(int i, int j). Мне кажется, если ты работаешь с двухмерным массивом, то лучше использовать массив массивов String[][]. Работать с ним легче, чем со списком списков. Но тебе придется самому разработать алгоритм поиска (хотя-бы простым перебором элементов). |
| Автор: DarkDS 20.10.2003, 19:33 |
| Зависимости между измерениями есть? ЗЫ. Оффтоп... Сорри в работе был... Еще объясниения про листенеры нужны? |
| Автор: Alone 21.10.2003, 10:48 | ||
Дык в том то и дело, что в любом случае придется самому реализацию поиска писать. Беда еще в том, что массив то динамически изменяемый. IMHO Sting[][] тут не прокатит... Я пока что остановился на LinkedList to DarkDS: Конечно! Я уже так долго жду в том топике |
| Автор: DarkDS 21.10.2003, 12:23 | ||
О Листах. Тут такое дело. Если тебя устраивает перебор (то есть не нужно брать элемент по индексуб а нужно будет переберать все элементы по порядку) - то твой выбор как раз Линкед лист (причем переберать нужно будет через Итератор) так как у него связанные объекты и если обращатся к гету, то он каждый раз перебирает чайлдов (половинчатым приближением... Не помню как правильно называется) В то время как Аррай лист возращает элемент из аррея (что на быстрее на много). Хотя у аррай листа есть другой минус... В случае превышения размеров массива его размер увеличивается, что тоже берет какое то время... |
| Автор: Alone 22.10.2003, 09:21 |
| Пока что на отработке технологии у меня один элемент LinkedList содержит String[n]. |