集合框架-Collection集合总结

来源:互联网 发布:jquery 1.8.3.min.js 编辑:程序博客网 时间:2024/05/17 02:06

3:Collection集合总结(掌握)

Collection

    |--List    有序,可重复

        |--ArrayList

            底层数据结构是数组,查询快,增删慢。

            线程不安全,效率高

        |--Vector

            底层数据结构是数组,查询快,增删慢。

            线程安全,效率低

        |--LinkedList

            底层数据结构是链表,查询慢,增删快。

            线程不安全,效率高

    |--Set    无序,唯一

        |--HashSet

            底层数据结构是哈希表。

            如何保证元素唯一性的呢?

                依赖两个方法:hashCode()和equals()

                开发中自动生成这两个方法即可

            |--LinkedHashSet

                底层数据结构是链表和哈希表

                由链表保证元素有序

                由哈希表保证元素唯一

        |--TreeSet

            底层数据结构是红黑树。

            如何保证元素排序的呢?

                自然排序

                比较器排序

            如何保证元素唯一性的呢?

                根据比较的返回值是否是0来决定

4:针对Collection集合我们到底使用谁呢?(掌握)

唯一吗?

    是:Set

        排序吗?

            是:TreeSet

            否:HashSet

    如果你知道是Set,但是不知道是哪个Set,就用HashSet。

    否:List

        要安全吗?

            是:Vector

            否:ArrayList或者LinkedList

                查询多:ArrayList

                增删多:LinkedList

    如果你知道是List,但是不知道是哪个List,就用ArrayList。

如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。

如果你知道用集合,就用ArrayList。

5:在集合中常见的数据结构(掌握)

ArrayXxx:底层数据结构是数组,查询快,增删慢

LinkedXxx:底层数据结构是链表,查询慢,增删快

HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()

TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序


0 0
原创粉丝点击