![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
Какого было моё разочарования, когда я узнал, что
массивы в java мало того, что имеют только нумерованные 0...n ключи, так еще и имеют фиксированную длину n. Про то, что они не могут быть многомерными, я вообще молчу. Сразу зафиксировать всю необходимую для исполнения программы память - это конечно же очень хорошо и экономно. Но в очень большом количестве задач, совершенно неизвестно, сколько элементов будет у нашего бедующего массива. Например, представим такую задачу, пользователь вводит в консоле имена и возраста, после каждого ввода имени, программа спрашивает, хочет ли пользователь ввести еще одно имя, или завершить ввод, и вывести все введенные имена. Двухмерный ассоциативный массив, с неопределенной длинной подошел бы для этого как нельзя лучше. Хотя нет, можно обойтись и двумя массивами. String [] name = new String [неизвестная длинна] ; int [] how_old = new int [неизвестная длинна] ; Но как сделать массив с неопределенной длинной так до сих пор для меня остаётся загадкой. Следующий вопрос, можно ли в java-массив засунуть дерево? В таких языках как javascript или php это не составляет никакого труда. В JAVе же никаких очевидных способов мне пока не видно. Как java-программисты справляются с такими серьёзными проблемами? |
|||
|
||||
Vasay |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Могут.
На то они и массивы. Кроме массивов в Java есть -HashMap -TreeMap -Collections -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||||
|
|||||||
Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 1 Всего: 30 |
использовать List<T> -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
NLspieler, коллекции в Java представлены достаточно обширно, как в стандартном API, так и в сторонних либах. Кури мануал: Java Collections Tutorial
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Fieral |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
![]() ![]() джава написана на ошибках первых языков программирования, там все путем... мануал совершенно понятный (по крайней мере для меня) мне вот щас приходится на бейсике писать, так я в шоке от бейсика после джавы ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15717 Регистрация: 24.3.2004 Где: Dublin Репутация: 209 Всего: 537 |
Читают FAQ, книги, гугл прежде чем задавать дурацкие вопросы. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
Спасибо всем за помощь.
Я уж и правда думал, что все это в java нереализуемо, или реализуемо, но с массой сложностей и переподвыпертов, оказалось, что я не прав и все это совсем не сложно и давно уже предусмотренно |
|||
|
||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Все непонятки из-за того, что в php принято называть массивом то, что правильнее было бы назвать коллекцией =)
Кста, может кто-то натыкался на какие-нить статьи про то, как в php устроен array и строки? К примеру, является ли строка в PHP изменяемой? Как сильно реализация отличается от джавовской String? Ну а про "чудо-массив", в который можно пихать все что хочешь, тоже хотелось бы узнать всякие подробности. Должна же быть какая-то плата за его универсальность. Сколько не гуглил и спрашивал у знакомых программистов, все только плечами пожимают. А в исходниках рыться, что бы с этим разобраться, как то не очень хочется... |
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 5 Всего: 9 |
В
можно пихать все что хочешь, кроме простых типов ![]() |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
А зачем? -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Как зачем? Ну, например, создать мусорный ящик (Recycle Bin). В игрушке какой-нибудь, или еще где. Кстати, раз уж говорим о вещах простых, следует напомнить, что именно для сабжа и существует ArrayList -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
serger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
Просто уровень разработчиков не торт.. ![]() -------------------- упс! |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Пример хороший, согласен с ним. Но в реальной разработке, ну вот ни разу не было у меня необходимости создавать универсальный массив, практически всегда его можно параметризовать. Имхо, в 90% случаев использование коллекций с непараметризованным типом в прикладном программировании есть недочет дизайна. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Абсолюто согласен. Так что, начинающие, обратите внимание: использование коллекций с непараметризованным типом есть недочет -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |