LinkedHashSet .equals () vs LinkedList .equals () con los mismos elementos pero diferente orden

Considere el siguiente SSCCE:

public static void main(String[] args) {
    LinkedHashSet<String> set1 = new LinkedHashSet<>();
    set1.add("Bob");
    set1.add("Tom");
    set1.add("Sam");
    LinkedHashSet<String> set2 = new LinkedHashSet<>();
    set2.add("Sam");
    set2.add("Bob");
    set2.add("Tom");

    System.out.println(set1);
    System.out.println(set2);
    System.out.println(set1.equals(set2));
}

Esto imprime:

[Bob, Tom, Sam]
[Sam, Bob, Tom]
true

Sin embargo, si cambiasLinkedHashSet aLinkedList:

public static void main(String[] args) {
    LinkedList<String> set1 = new LinkedList<>();
    set1.add("Bob");
    set1.add("Tom");
    set1.add("Sam");
    LinkedList<String> set2 = new LinkedList<>();
    set2.add("Sam");
    set2.add("Bob");
    set2.add("Tom");

    System.out.println(set1);
    System.out.println(set2);
    System.out.println(set1.equals(set2));
}

produce:

[Bob, Tom, Sam]
[Sam, Bob, Tom]
false

Mi pregunta es de aclaración. ¿Alguien puede ayudar a darle sentido a esto? ¿Por qué unLinkedHashSet ser considerado igual, mientras que el mismoLinkedList no lo haría? Estoy asumiendo la definición deList ySet juega un papel, pero no estoy seguro.

Básicamente, digo que si consideras elSetS ser lo mismo, ¿no considerarías elLists ser lo mismo también? ¿Y viceversa (suponiendo que no haya elementos duplicados)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta