Collection(接口):单列集合
|--List(接口):1.有序的;2.可以存储重复值
|--ArrayList(类):数组实现:查询快、增删慢;线程不安全的,效率高;
|--LinkedList(类):链表实现:查询慢、增删快;
|--Vector(类):数组实现:线程安全的,效率低;
|--Set(接口):1.无序的;2.不能存储重复值;
|--HashSet(类):哈希表实现。增删、查询都快,另外,效率也跟"哈希算法"相关;
验证元素的唯一性:
先判断hashCode() && equals() :true:不存
false:存
注意:如果使用HashSet存储自定义对象,而且需要验证出:两个对象中的属性值完全相同,
从而不存储重复元素,需要我们的自定义对象重写:hashCode()方法和 equals()方法;
怎么重写呢?Eclipse-->右键-->Source-->Generate hashCode() and equals()
|--LinkedHashSet(类):链表和哈希表实现;是比较特殊的Set--有序的
链表:保证有序;
哈希表:保证唯一;
|
|