集合(初识)

一、集合与数组

    相同点: 都可存储一系列数据,即都为数据的容器,存储Object类型时存储对象都为引用类型

    不同点:1) 数组可存储基本数据类型,集合不可以

                     2)数组长度为定值,数组内数据数量未知时不宜使用;集合长度可变,较数组更为灵活,适用性更广。

    注:同一数组可存储不同数据类型的数组,例:Object[] arr={"String",new Integer(1)};

    集合框架结构图:

二、存储对象引用

    元素在内部索引过程:

三、接口的类别及其方法测试 

    子接口:

            ①List(interface)

                a.元素有序可重复

                b.通过索引访问指定位置的集合元素,默认的索引设置为按元素的添加顺序设置(索引为0~size()-1)

                实现类(导util包):

            ArrayList:基于列表的数据结构,对象位置连续,在增删改查操作中,数据量大的情况下ArrayList对于查操作较LinkedList更为方便,因为ArrayList在增删操作时需要移动数据,而在查(get、set)数据方面速度很快。

              LinkedList:基于双链表的数据结构,对象位置不连续,在增删改查中,数据量大的情况下LinkedList对于增删操作较ArrayList更为方便,因为LinkedList对象使用类似指针(java中没有指针)的索引进行连接,在查数据时需要根据索引一步一步查,而在增删(add、remove)方面速度很快。

               Vector:该类用法与List用法差不多,在使用上,Vector是线程安全的,ArrayList是线程不安全的。不过即使为保证List集合线程安全,也不推荐使用。(安全隐患:当多用户同时操作时造成的线程问题,操作系统详解。)

                图示:

            ②Set(interface)

                a.无序

                b.不重复

猜你喜欢

转载自blog.csdn.net/z774884795/article/details/81460716