1.Collection接口
2.ArrayList
3.LinkedList
4.set和排序
相同点:单例集合,数据不可重复
不同点1:底层使用的储存数据结构不同:
1,Hashset底层使用的是HashMap哈希表结构储存
2,而Treeset底层用的是TreeMap树结构储存。
不同点2:储存的数据保存唯一方式不用。
1,Hashset是通过复写hashCode()方法和equals()方法来保证的。
2,而Treeset是通过Compareable接口的compareto方法来保证的。
不同点3:
hashset无序 Treeset有序
储存原理:
hashset:底层数据结构是哈希表,本质就是哈希值储存。通过判断元素的hashcode方法和equals方法来保证元素的唯一性。当哈希值不同时就直接进行储存。
如果相同,会判断一次equals方式是否返回为true ,如果是true 则视为用的同一个元素,不用再储存。如果是false,这俄格相同哈希值不同内容的元素会放在同一个桶里(
当哈希表中有一个桶结构,每一个捅都有一个哈希值)
Treeset:底层数据结构式一个二叉树,可以对set集合中的元素进行排序,这种结构,可以提高排序性能。根据比较方法的返回值决定的,只要返回的是0,就代表元素重复
5.iterator
6.map接口
3.两种常规Map性能
HashMap:适用于在Map中插入、删除和定位元素。
Treemap:适用于按自然顺序或自定义顺序遍历键(key)。
4.总结
HashMap通常比TreeMap快一点(树和哈希表的数据结构使然),建议多使用HashMap,在需要排序的Map时候才用TreeMap。
map使用iterator必须实现Entry接口