LinkedHashSet .equals() vs LinkedList .equals() with same elements but different order
Consider the following 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)); } This prints: [Bob, Tom, Sam] [Sam, Bob, Tom] true Yet if you change LinkedHashSet to LinkedList : public static void main(String[] args) { LinkedList<String> set1 = new LinkedList<>(); set1.add("Bob"); set1.add("Tom"); set1.add(