Итак, я знаю, что HashSet не имеет реальных возможностей сортировки, как SortedSet, однако я наткнулся на это:
Когда я запускаю следующий код:
public static void main(String[] args) {
Set<String> collection = new HashSet<String>(2000);
String[] data = {"a", "c", "g", "f", "b", "f", "b", "d","q","r","d","m"};
for(String input: data)
{
collection.add(input);
}
System.out.println("Output: " + collection);
}
я получаюследующий вывод: Вывод: [a, b, c, d, f, g, m, q, r]
, который отсортирован по алфавиту.Это почему?Поскольку HashSet не является отсортированным набором.
Поэтому я попытался использовать строку символов вместо одного символа:
public static void main(String[] args) {
Set<String> collection = new HashSet<String>(2000);
String[] data = {"atjre", "crj", "gertj", "fertj", "berj"};
for(String input: data)
{
collection.add(input);
}
System.out.println("Output: " + collection);
}
И я получаю следующий вывод: Вывод: [crj,atjre, fertj, gertj, berj]
Теперь они больше не сортируются, есть ли объяснения этому?Или это просто случайное совпадение?