Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
2 / 2 / 3
Регистрация: 02.07.2013
Сообщений: 148

Когда использовать [Class] и Hash[Class] ?

30.11.2016, 08:49. Показов 1779. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал изучать Java и почему-то не получается до сих пор понять, почему в некоторых примерах используется
Java
1
HashSet<Cat> result = new HashSet<Cat>();
а в некоторых
Java
1
Set<Cat> cat = new HashSet<Cat>();
То же касается и Map-HashMap и List-ArrayList.

В чем их разница? Есть какое-то правило применения именно HashSet, а не Set?

P.S. Прошу прощения за возможно показавшийся вам глупый вопрос.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2016, 08:49
Ответы с готовыми решениями:

bad class file: C:Program FilesJavajre1.5.0_02lib t.jar(java/lang/Object.class) class file has wrong version 49.0, should be 48.0
написал тестовый td_jsp.jsp фаил -&gt;&gt; &lt;html&gt; &lt;head&gt;&lt;title&gt;JSP test&lt;/title&gt;&lt;/head&gt; &lt;body&gt; &lt;p&gt;JSP test&lt;/p&gt; &lt;/body&gt; ...

Возможно ли такое:class Loading { ... class ListTest { } ... }
Я только еще знакомлюсь с JAVA, но уже пытаюсь решить сложную задачу. При открытии формы загружается список jComboBox, значения списка...

Can't see new fields in java class from scala class in Eclipse
Привет. Есть Java класс, есть Scala класс. В Java-класс добавляю новую константу, пытаюсь к ней обратиться из scala-класса. Проект...

2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
30.11.2016, 10:21
Лучший ответ Сообщение было отмечено EndoCrinolog как решение

Решение

Сет, Мап и Лист -это интерфейсы, их экземпляр создать нельзя, но можно переменной такого типа присвоить ссылку на экземпляр имплементящий данный интерфейс, например ХешСет. Тогда ты сможешь для такой переменной вызывать методы, указанные в интерфейсе, но не сможешь использовать методы(и поля) которые реализованы только в классе ХешСет.
Такое использование (Set<> cat = new HashSet<>() дает различные преимущества в определенных случаях, например возможность менять поведение, то есть вместо ХешСет подсунуть любой другой класс, имплементящий Сет и изменить поведение программы.
Использование HashSet<Cat> result = new HashSet<Cat>(); позволяет юзать все методы хешсета, но зато если понадобится заменить ХешСет на другой класс коллекций, то придется по всему коду правки вносить.
Читай что такое интерфейсы и полиморфизм. Тут в двух словах не расскажешь, а пользы потом будет много.
1
2 / 2 / 3
Регистрация: 02.07.2013
Сообщений: 148
01.12.2016, 11:48  [ТС]
Спасибо большое за информацию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2016, 11:48
Помогаю со студенческими работами здесь

Задача: реализовать наследование: interface Сотрудник - class Инженер - class Руководитель.
Помогите решить задачу и объяснить. В Eclipse. Реализовать наследование: interface Сотрудник - class Инженер - class Руководитель

Задача: реализовать наследование: interface Сотрудник - class Инженер - class Руководитель. В Eclipse.
Помогите решить задачу и объяснить. В Eclipse. Реализовать наследование: interface Сотрудник - class Инженер - class Руководитель

Что такое String.class, JButton.class?
Здравствуйте Бывают встречаю такие вещи: String.class, JButton.class. Обычно вижу это в качестве аргумента функции Что это значит?

Ошибка: cannot find symbol symbol: class toString location: class java.util.Date
import java.util.Date; import java.lang.String; import java.io.*; public class Sword { public static void main(String args)...

В чем отличие ref class от value class, где какой следует использовать?
САБЖ, мало по мало изучаю C++/CLI.. В голове каша, хотелось бы как то фундаментально осмыслить и запомнить в каких случаях нужно...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru