Упорядочение элементов в Java HashSet

Почему второй и третий наборы сохраняют порядок:

Integer[] j = new Integer[]{3,4,5,6,7,8,9};
LinkedHashSet<Integer> i = new LinkedHashSet<Integer>();
Collections.addAll(i,j);
System.out.println(i); 

HashSet<Integer> hi = new HashSet<Integer>(i);
System.out.println(hi); 

LinkedHashSet<Integer> o = new LinkedHashSet<Integer>(hi);
System.out.println(o); 

Вот вывод, который я получаю:

3,4,5,6,7,8,9
3,4,5,6,7,8,9
3,4,5,6,7,8,9

Ответы на вопрос(2)

Ваш ответ на вопрос