• 有关List、Set、Map的基础了解


           刚申请了一个博客,怀着一颗激动的心情我竟不知道写点啥,嗯~来点基础的吧!面试的时候一直被问到的集合框架。
           集合,也称为容器,可以将一系列元素组合成一个单元,用于存储、提取、管理数据。JDK提供的集合API都包含在java.util包内
           JAVA集合框架主要分为两部分,
           一部分实现了Collection接口,该接口定义了存取一组对象的方法,其子接口Set和List分别定义了存取方式;
     
        
                                     
                                                                                                     Collection接口框架
     
         Collection是最基本的集合接口,一个Collection代表一组Object,每个Object即Collection中的元素。JDK不提供Collection接口的任何直接实现类,而是提供了更具体的子接口实现(如set、list)。
         如上图所示,Collection接口主要有三个子接口,分别是List接口、Set接口和Queue接口:
    •  List接口

        有序,可重复

        List接口继承自Collection接口的主要方法:

          void  add(int  index,Object O)     向指定位置插入元素

          Object  get(int  index)     返回集合中指定位置的元素

          int  indexOf(Object  O)          返回集合中第一处出现的指定元素的索引,若不包含,返回-1

          int  lastIndexOf(Object  o)  返回集合中最后一次出现的指定元素的索引,若不包含返回-1

          Object   remove(int  index)     移除指定位置的元素

          Object  set(int  index,Object  o)    用指定的数据元素替换集合中指定位置的数据元素

          ArrayList实现了List接口,在存储方式上采用数组进行顺序存储,与List不同的是,ArrayList对数组进行了封装,实现了可变长度的数组。

          LinkedList在存储方式上采用链表进行链式存储

          总结:

          

    •     Set接口

        无序,不可重复

          Set接口继承自Collection接口的主要方法:

            boolean  add(Object  obj)  向集合中添加元素,该元素不能和集合中现有元素重复,若重复添加无效,并返回false

            void  clear()    集合清空

            boolean  contains(Object  obj)     判断集合中是否包含该元素,若包含返回true

            boolean  isEmpty()       判断集合是否为空,若为空返回true

            Iterator   iterator()      返回一个iterator对象,用它来遍历集合中的数据元素

            boolean  remove()     若集合中包含此元素,则将其删除,并返回true

             int   size()      返回集合中数据元素的个数

            Object[ ]   toArray( )       返回一个数组,该数组包含集合中的所有数据元素

            总结:

            

        Queue接口(可以说我平时都没用过,此处也不做详细解释)

        Queue接口用于在处理元素前保存元素的Collection序列。除了具有Collection接口基本的操作外,Queue接口还提供了其它的插入、提取和检查等操作。

         另一部分是Map接口,该接口定义了存储一组“键(key)值(value)”映射对的方法。Map接口里存放的是一系列键值对,key不要求有序,但不可重复,每一个key只能映射一个value值

                                                        

                                                                                                                                                 Map接口框架

          总结:

          

        TreeSet、LinkedHashSet和HashSet的区别?

            1.TreeSet的主要功能用于排序

            2.LinkedHashSet的主要功能用于保证FTFO即有序的集合(先进先出)

            3.HashSet只是通用的存储数据的集合

     

  • 相关阅读:
    mac crontab
    mac 修改MAC代码
    python 二叉树计算器
    python 验证码识别
    scp 上传和下载文件
    centos 开机执行的命令
    centos aws 修改使用密码ssh登录
    python nose测试
    C# linq to xml
    Visual Studio 2015+InstallShield 2015
  • 原文地址:https://www.cnblogs.com/siduoxiaohua/p/10255051.html
Copyright © 2020-2023  润新知