1:集合 2 Collection(单列集合) 3 List(有序,可重复) 4 ArrayList 5 底层数据结构是数组,查询快,增删慢 6 线程不安全,效率高 7 Vector 8 底层数据结构是数组,查询快,增删慢 9 线程安全,效率低 10 LinkedList 11 底层数据结构是链表,查询慢,增删快 12 线程不安全,效率高 13 Set(无序,唯一) 14 HashSet 15 底层数据结构是哈希表。 16 哈希表依赖两个方法:hashCode()和equals() 17 执行顺序: 18 首先判断hashCode()值是否相同 19 是:继续执行equals(),看其返回值 20 是true:说明元素重复,不添加 21 是false:就直接添加到集合 22 否:就直接添加到集合 23 最终: 24 自动生成hashCode()和equals()即可 25 26 LinkedHashSet 27 底层数据结构由链表和哈希表组成。 28 由链表保证元素有序。 29 由哈希表保证元素唯一。 30 TreeSet 31 底层数据结构是红黑树。(是一种自平衡的二叉树) 32 如何保证元素唯一性呢? 33 根据比较的返回值是否是0来决定 34 如何保证元素的排序呢? 35 两种方式 36 自然排序(元素具备比较性) 37 让元素所属的类实现Comparable接口 38 比较器排序(集合具备比较性) 39 让集合接收一个Comparator的实现类对象 40 Map(双列集合) 41 A
Java中常见数据结构:list与map -底层如何实现
最新推荐文章于 2024-07-27 23:42:05 发布
本文详细介绍了Java集合框架中的List和Map接口的实现类,包括ArrayList、LinkedList、HashSet、HashMap等。分析了它们的底层数据结构和操作效率,如ArrayList基于数组,查询快但增删慢;LinkedList基于链表,增删快但查询慢;HashSet和HashMap利用哈希表实现快速查找,但线程不安全。同时提到了TreeSet和TreeMap采用红黑树保证排序和唯一性。最后讨论了选择哪种集合类型的依据和常见操作方法。
摘要由CSDN通过智能技术生成