list和set的区别

list和set都实现同一个接口,

  list是有序集合

  ArrayList和linkedList都实现了List接口,ArrayList是线性结构,根据下标对数据进行操作,ArrayList查询快,增删慢。

  LinkedList是链表结构,增加和删除快,查询慢。

 Set是无序的

    HashSet和TreeSet都实现了Set接口,内容不可重复,HashSet底层是哈希表,通过hashcode和eq来保证数据的一致性。

    TreeSet底层是二叉树,根据比较的返回值确定元素的一致性。

    LinkedHashSet:底层是链性+二叉树+哈希表。由链表保证元素有序,哈希表保证元素唯一

posted @ 2020-12-28 18:51  蒋先生Terry  阅读(370)  评论(0编辑  收藏  举报