1.collection集合
|--list 特点:有序,能重复
|--arraylist 查询快,增删慢 底层数据是数组数据结构
|--linklist 增删快,查询慢 底层数据是链表数据结构
|--set 特点:无序,不可重复
|--hashset 底层数据是哈希表 无序
|--treeset 底层数据是二叉树 可以对set集合中的元素进行排序
其中对于arraylist和hashset来说,他们的查询方式不同
arraylist是依据equals来查询
hashset是先依据hashcode进行比较,若相同在进行equals比较来查询
因此在使用时一般都要复写hashcode()方法和equals()方法。
treeset 在使用时,添加数据会自动进行自然排序,若添加的都是new出来的对象,这个时候就无法排序而进行报错,处理办法就是让对象类实现compare接口并复写compareTo方法。
2.map集合
|--hashtable 不允许有null键null值得情况
|--hashmap 允许有null键null值得情况
|--treemap 可以对键进行排序
map集合特点:该集合存储 键-值 对,且键唯一。