![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Rauko |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.6.2009 Репутация: нет Всего: нет |
учусь пользоваться коллекциями, с трудом разобралась, как пользоваться TreeSet... Однако после реализации поняла, что сам TreeSet в моем случае не до конца подходит: если данные совпадают - он не выводит строку на экран
есть ли варианты использования кроме ArrayList? как его правильно использовать с учетом необходимости сортировки? |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
На куске кода вообще никакого вывода нет - мы не экстрасенсы. Также в Set нельзя хранить два одинаковых объекта.
|
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
И вопрос какой-то странный - с ArrayList работаем или с TreeSet ?
|
|||
|
||||
Rauko |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.6.2009 Репутация: нет Всего: нет |
вывод работает, вот в чем дело ))) но если уж так интересно, вот код вывода для
проблема заключается в том, что я не могу понять, как в ArraysList запрячь мой массив Employee. то, что строки с одинаковыми значениями нельзя хранить в TreeSet и стало причиной поиска других вариантов решения задачи... была еще мысль спросить про HashSet, вроде он тоже приемлем для решения задачи |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Мы же с Вами рассматривали вариант с Comparator в другой ветке.
|
|||
|
||||
CPlusPlusFAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Rauko, ArrayList подходит идеально.
|
|||
|
||||
Rauko |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.6.2009 Репутация: нет Всего: нет |
это та же задача, но уже с использованием коллекций... 60 лабораторных слишком быстро сделали, преподаватель выкручивается как может - мы уже 4 раза эту задачу под разные условия переделывали... по поводу TreeSet сказал, что да, так можно(в случае с INN, где генерируется уникальное число... обычно), но для наглядности лучше сделать все 3 варианта по-разному |
|||
|
||||
CPlusPlusFAN |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Set будет работать только в случае, если уберете из Employee методы equals и hashCode и то, если не кидать в него одинаковые объекты. Таков контракт сетов. Листы, например, подходят любые, очереди и т.д. Это сообщение отредактировал(а) CPlusPlusFAN - 27.8.2015, 02:49 |
||||
|
|||||
Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
В ArrayList запрягается всё что угодно, Британские ученые доказали, что ArrayList используется в 78% случаях, когда программисты работают с коллекциями. Его все любят и лелеют.
Имплементация интерфейса Set существует в 97 классах Java 1.8. Тебе какая нужна? |
||||
|
|||||
Rauko |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.6.2009 Репутация: нет Всего: нет |
я не могу понять сам синтаксис, особенно, если пытаться создать коллекцию внутри класса и в последствии ее вызывать - вот пример из другой задачи: написать программу, которая будет содержать в себе информацию о сети кинотеатров(~3 элемента). каждый кинотеатр имеет - название - адрес - контактную информацию - несколько залов каждый зал имеет - название - расписание фильмов по запросу выводить: - всю информацию по пунктам(названия, адреса, контактная информация) - информацию о каждом кинотеатре(контактная информация, список залов на выбор для просмотра)
(этот вопрос немного не по теме, но возможно к нему приведется)создала массив из класса Cinema на 3 элемента, как в каждом из них запилить массив из комнат CinemaRoom(по 2-3 штучки)? через что это выполняется или как поправить код для реализации? можно ли реализовать как то первый класс через коллекции? как это будет выглядеть? какой командой выполняется заливка в ArrayList<String> filmList из другого класса? геттеры-сеттеры реализованы через стандартный эклипсовский билдер
из сетов, вероятно, лучше всего подойдет HashSet, но не пойму, как правильно в нем синтаксис выглядит и как прикрутить по примеру TreeSet сортировку(или иными методами) в ArrayList так же не могу понять, как вкрутить в него сортировку |
||||||||
|
|||||||||
CPlusPlusFAN |
|
||||||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Не очень понял. Ну вроде вот:
Типа того:
Что значит "реализовать класс через коллекции"?
Никак. HashSet несортируем. И зачем вообще нужен сет, я так до конца и не понял.
|
||||||||||||
|
|||||||||||||
Rauko |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.6.2009 Репутация: нет Всего: нет |
в идеале, что бы как то на такое отзывалось: (описанное ниже взято от фанаря)
имхо нужна организация доступа через theatre[...]. знаю, что такое как то реализовывается, но какими путями - без понятия... два дня "эксперементирую", но не работает
можно ли вышеупомянутый theatre засунуть в коллекцию и при этом сохранить все его содержимое в том порядке, в котором оно и так там лежит? будет ли в этом смысл и делается ли так на практике?
это в другой задаче осталось... выполнить 3 сортировки списка на 10 строк по разным ключам разного типа (String, double, int). Реализовала через TreeSet, но после сдачи решила еще немного подкорректировать и сделать все сортировки по-разному. На потоке все делали через ArrayList, вот теперь думаю, какой делать третью сортировку, раз хэш несортируем. |
||||||||||
|
|||||||||||
CPlusPlusFAN |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Просто опишите метод, создающий нужное число инстансов комнат по их количеству:
И я не понимаю стремление хранить все в массивах. ArrayList достаточно хорош и лишен некоторых недостатков массива. По мне так сценариев, когда нужен именно массив, можно пересчитать по пальцам.
Так доступ по индексу, не? Конечно, ArrayList в помощь. Если так хочется потестить разные коллекции: LinkedList, ArrayDeque. Если хочется экзотики, можно попробовать CopyOnWriteArrayList. Все они подходят под задачу. |
||||||
|
|||||||
Rauko |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.6.2009 Репутация: нет Всего: нет |
просто я еще маленький крабокодер, только выползший из массивов и еще не до конца разобравшийся с коллекциями... к слову, есть еще такой вопрос... возможно ли загружать в коллекцию(в тот же ArrayList) данные строками? например "1801" "вася" "пупкин" "4000" "главбух" "1999" "коля" "жопорук" "7000" "повар" как будет это выглядеть?(интересует сам загруз в коллекцию и выгрузка для использования) благодарю, приступаю к обкатке уже полученных данных... надеюсь пройдет гладко, если что - вернусь с вопросами Это сообщение отредактировал(а) Rauko - 2.9.2015, 21:46 |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Rauko, чувствую, что вопрос какой-то очень простой, но ты спрашиваешь так, что ничего не понятно.
так?
Это сообщение отредактировал(а) Samotnik - 2.9.2015, 23:46 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |