public static void main(String[] args) {
HashSet<String> values = new HashSet<>();
values.add("Ivan");
values.add("Petr");
values.add("Alexandr");
values.add("Dmitriy");
System.out.println(values);
}
[Petr, Alexandr, Ivan, Dmitriy]
вот что я получил в консоль.
Почему вышли значения таким образом, а не по порядку как в ArrayList например?
Как указано в документации
It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time.
Не гарантируется порядок обхода набора; в частности, не гарантируется, что порядок будет всегда постоянным.
Убедиться можно на примере следующего кода:
public static void main(String[] args) {
HashSet<String> values = new HashSet<>();
values.add("Ivan");
values.add("Petr");
values.add("Alexandr");
values.add("Dmitriy");
System.out.println(values);
values.add("Petr2");
System.out.println(values);
values.add("Ivan2");
System.out.println(values);
}
Если его запустить, можно заметить, что порядок обхода может поменяться, например, после добавления элемента.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходимо отследить перемещение одной белой точки на черном фонеИспользую OpenCV и класс CameraPreview на основе SurfaceView
Создаю приложение с ЯндексКартами