1. List 一定是有序的
ArrayList 和 LinkedList 中的元素的顺序是按照添加时的顺序排列的。这就是所说的List 有序。
2. Set 不一定是无序的
HashSet 是无序的,不能保证元素的添加顺序。
LinkedHashSet 可以保证元素的添加顺序。
TreeSet 是根据元素的自然顺序进行排序的(A-Z)
类型是否可以重复是否保证元素添加的顺序是否保证元素自然的顺序(A-Z)List可以是否HashSet不可以否否LinkedHashSet不可以是否TreeSet不可以否是
// 1. ArrayList 输出 s1 s3 s5 s4 s2
List
arrayList.add("s1");
arrayList.add("s3");
arrayList.add("s5");
arrayList.add("s4");
arrayList.add("s2");
System.out.println(">>>>>>>>>>>>>>>>> ArrayList" );
for (String s : arrayList) {
System.out.print(s + " ");
}
System.out.println();
// 2. LinkedList 输出 s1 s3 s5 s4 s2
List
linkedList.add("s1");
linkedList.add("s3");
linkedList.add("s5");
linkedList.add("s4");
linkedList.add("s2");
System.out.println(">>>>>>>>>>>>>>>>> LinkedList" );
for (String s : linkedList) {
System.out.print(s + " ");
}
System.out.println();
// 3. HashSet 输出 s3 s4 s5 s1 s2
Set
hashSet.add("s1");
hashSet.add("s3");
hashSet.add("s5");
hashSet.add("s4");
hashSet.add("s2");
System.out.println(">>>>>>>>>>>>>>>>> HashSet" );
for (String s : hashSet) {
System.out.print(s + " ");
}
System.out.println();
// 4. LinkedHashSet 输出 s1 s3 s5 s4 s2
Set
linkedHashSet.add("s1");
linkedHashSet.add("s3");
linkedHashSet.add("s5");
linkedHashSet.add("s4");
linkedHashSet.add("s2");
System.out.println(">>>>>>>>>>>>>>>>> LinkedHashSet" );
for (String s : linkedHashSet) {
System.out.print(s + " ");
}
System.out.println();
// 5. TreeSet 输出 s1 s2 s3 s4 s5
Set
treeSet.add("s1");
treeSet.add("s3");
treeSet.add("s5");
treeSet.add("s4");
treeSet.add("s2");
System.out.println(">>>>>>>>>>>>>>>>> TreeSet" );
for (String s : treeSet) {
System.out.print(s + " ");
}