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);
}
Если его запустить, можно заметить, что порядок обхода может поменяться, например, после добавления элемента.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо отследить перемещение одной белой точки на черном фонеИспользую OpenCV и класс CameraPreview на основе SurfaceView
Создаю приложение с ЯндексКартами