![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| icepro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Нужно считать массив из файла заранее не зная сколько там элементов (тип флоат), есть несколько соображений:
1) в начале файла писать количество элементов 2) два раза проходить по файлу и сначала найти количество потом создать подходящий массив а потом считывать в него Но может существуют какието более универсальные способы? Может найти размер файла а потом поделить на размер флоата, или еще как? Заранее спасибо! |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Можно считать в ArrayList, затем конвернуть в массив. Но в ArrayList числа будут храниться не в float, а в Float, что потребует больше памяти. Поэтому в ArrayList лучше помещать массивы float[] фиксированной размерности, например по 1024 числа, в последнем будет меньше.
|
|||
|
||||
| icepro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Дело в том что у меня есть прога, которая реализует работу с векторами двумя способами: через массив, и через связной список, и вот при чтении я использую связной список что б добалять в конец новые элементы, и подумываю как бы можно реализовать что б не привязываться с списку, может размерность массива можно менять по ходу заполнения?
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Размерность массива менять нельзя - можно только создать новый массив и скопировать в него элементы из старого.
При использовании LinkedList можно если для экономии памяти, как я уже предлагал, помещать в него не числа, а массивы
PS: код не компилил, могут быть ошибки |
|||
|
||||
| goodday1941 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 1 Всего: 9 |
в данном случае я бы использовал два класса Scanner и LinkedList (думаю это был бы самый оптимальный вариант в плане использования памяти)
-------------------- SCJP 6 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |