黑马程序员技术交流社区

标题: 【广州校区】【原创】Java集合体系架构与集合特点介绍 [打印本页]

作者: 帅气de路人甲    时间: 2019-4-18 14:17
标题: 【广州校区】【原创】Java集合体系架构与集合特点介绍
Java中的集合是一个存储容器,长度可变,Java的集合体系结构如下:
|---Collection
        |--List
                |--ArrayList
                |--LinkedList
        |--Set
                |--HashSet
                        |--LinkedHashSet
                |--TreeSet
        |--...

在集合中,需要记住下面常用的方法:
①  增加:        add( )                :将指定对象存储到容器中,add 方法的参数类型是Object便于接收任意对象
                          addAll( )                  :将指定集合中的元素添加到调用该方法和集合中

②  删除:        remove( )        :将指定的对象从集合中删除
                          removeAll( )        :将指定的集合中的元素删除

③  修改:        clear( )                :清空集合中的所有元素

④  判断:        isEmpty( )        :判断集合是否为空
                          contains( )        :判断集合中是否包含指定对象
                          containsAll( )        :判断集合中是否包含指定集合

⑤  获取:        size( )                :返回集合容器的大小

⑥  其它:        toArray( )        :集合转为数组

在集合中,有一些常用的接口和实现类,这些集合的特点如下:

        List:是一个有序的集合,可以存储重复的元素,有3个实现类:LinkedList、ArrayList、Vector
                List 集合中特有的方法有
                        void add(int index, Object element)                :将指定的元素,添加到该集合中的指定位置上
                        Object get(int index)                                :返回集合中指定位置的元素
                        Object remove(int index)                                :移除列表中指定位置的元素,返回的是被移除的元素
                        Object set(int index, Object element)        :用指定元素替换集合中指定位置的元素,返回值是更新前的元素

        Set:是一个无序的集合,不能存储重复的元素,有2个实现类:HashSet、LinkedHashSet

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

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

        HashSet                :元素唯一、不能重复,底层结构是哈希表结构,元素的存取顺序不能保证一致

        LinkedHashSet:元素唯一、不能重复,底层结构是哈希表结构+链表结构,元素的存取顺序一致

        HashMap                  :map的子集合,底层是哈希表结构,HashMap集合中的key不能重复

        LinkedHashMap:map的子集合,底层是哈希表+链表结构,并且key不能重复

        Map:map集合中的元素都是成对出现,成对存储的,都是以一对键和值的形式组成存在的,称为键值对,map集合中的键不能重复存储,值可以重复,每一个键,对应着一个值
                map集合中的常用方法:
                V put(K key, V value)                        :把指定的键与指定的值添加到Map集合中
                V remove(Object key)                        :把指定的键所对应的键值对元素,
                    在map集合中删除,并返回被删除元素的值
                Set<Map.Entry<K, V>> entrySet()        :获取map集合中所有的键值对对象的集合(set集合)
                V get(Object key)                                :根据指定的键,在map集合中获取对应的值
                Set<K> keySet()                                :获取map集合中所有的键,存储到set集合中

                注意:map集合有哪2种遍历方式:
                        1:根据键找值的方式
                        2:根据键值对对象找键和值的方式

同时需要注意的是,数组与集合有一定的区别:数组只能存储同一种数据类型,长度固定,而集合可以存储很多种数据类型,长度可变







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2