List和Set都继承了Collection
List能够确保元素的特定顺序(存入的先后顺序),提供了get方法来访问特定的元素。
Set能够确保元素的唯一性,但不能够保证次序。没有类似于get的方法。
ArrayList支持随机访问,但是在中间位置插入或除去元素时效率比较低。
LinkedList可以高效的支持删除和插入元素。
HashSet(由HashMap支持,键唯一)、HashMap是基于哈希表来实现,效率比较高,但没有排序。它们判断元素的唯一性是通过hashcode,euqals方法来实现的。
TreeSet(有TreeMap支持,键唯一)、TreeMap是基于平衡二叉树实现。效率比哈希表的低,但可以排序。因为它们已经已经实现了Comparable或Comparator,所以判断元素的唯一性是通过Comparable或Comparator来实现的,但是维护的顺序必须与 equals 一致。
List能够确保元素的特定顺序(存入的先后顺序),提供了get方法来访问特定的元素。
Set能够确保元素的唯一性,但不能够保证次序。没有类似于get的方法。
ArrayList支持随机访问,但是在中间位置插入或除去元素时效率比较低。
LinkedList可以高效的支持删除和插入元素。
HashSet(由HashMap支持,键唯一)、HashMap是基于哈希表来实现,效率比较高,但没有排序。它们判断元素的唯一性是通过hashcode,euqals方法来实现的。
TreeSet(有TreeMap支持,键唯一)、TreeMap是基于平衡二叉树实现。效率比哈希表的低,但可以排序。因为它们已经已经实现了Comparable或Comparator,所以判断元素的唯一性是通过Comparable或Comparator来实现的,但是维护的顺序必须与 equals 一致。