1:什么是链表?
把一个数据封装成一个节点对象,里面存在上一个节点地址和下一个节点地址
(如果只有下一个节点地址就是单向链表,两个都有就是双向链表)
其实就是对象连接对象,例如在链表里存a,b,c;它会把元素封装到Node对象中
双向链表:
2:为什么增删快,查询慢
查询慢:查询是从头或者从尾依次来查询,一个一个的对比
增删快:链表只需要更改指向,就可以从新连接
增删快,查询慢
也不绝对,如果查询头尾也很快
有序可重复
1.3HashSet(无序且不可重复)
1:为什么无序
来瞅瞅源码:
那么问题来了HashMap是一个双列集合;hashSet是一个单列结合,它们之间是如何关联关系的呢?
接着看看核心方法:
hashSet就是使用hashMap的key来进行存储(底层就是一个hashMap)
里面的所有方法都是map
2:为什么不可重复
原因就需要分析hashMap了