• Java集合List学习笔记


    ------------恢复内容开始------------

    Java集合可分为Collection和Map两种体系。

    Collection接口:单列数据,定义了存取一组对象的方法和集合

      List:元素有序,可重复的集合。--》“动态”数组

          实现类:ArrayList、LinkedList、Vector

      Set:元素无序,不可重复的集合  --》“高中讲的集合”

          实现类:HashSet、LinkedHashSet、TreeSet

    Map借口:双列数据,保存具有映射关系的数据“Key-value对”的集合。---》高中函数y=fx

      实现类:HashMap、LinkedHashMap、TreeMap、HashTable、Properties。

    三、Collection接口中的方法

       1、常用方法

    equals方法重写,remove才能删掉集合中的某些值。

    集合转数组-》集合

    toArray()

    数组-》集合

    asList()

      2、使用iterator接口:提供一种方法访问一个容器对象中的各个元素,而不暴露内部细节。

     hasnext判断

    isnext输出当前值。

    while(iterator.hasnext()){

     sout(iterator.next);

    }

    每次调用iterator方法都得到一个权限的迭代器对象,所以不能在while一直调用iterator。

    没有调用next不能调用remove,不能连续两次remove。

    增强for循环

    for(集合元素的类型 局部变量:集合对象)

    把集合中的对象赋值给了局部变量

     for(Object obj:col){

    sout(obj);

    ArrayList:作为List借口的主要实现类,线程不安全,效率高

    LinkedList:底层使用的是双向链表存储。对于频繁的插入和删除比ArrayList效率更高。

    Vector:作为List接口最古老的实现类,线程安全,效率低。底层使用的是Object[]的存储。

    ArrayList、LinkedList、Vector三者的异同

    同:三个类都是实现了List接口,存储数据的特点相同:存储有序的,可重复的数据。底层使用的是Object[]的存储。

    不同:见上。

    ArrayList源码分析:

    1、Java数组有局限性,通常使用List替代数组

    2、List集合类中元素有序、且可重复,集合中的每个元素都有顺序索引。

    3、List容器中的元素都对应一个整数型的序号,可以根据序号存取容器中的元素。

    4、JDK API中List借口的实现类常用的有:ArrayList、LinkedList和Vector。

    ------------恢复内容结束------------

  • 相关阅读:
    windows环境下ElasticSearch6 安装head插件
    画流程图挺好的软件---visio
    Spring AOP使用注解记录用户操作日志
    通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合
    chrony 时间同步服务器
    Python面试题
    新认知丨认知信念决定学习能力
    Ubuntu18、Ubuntu16、Ubuntu14更新源
    让人头疼的时候最有创造力
    安卓学习(2)
  • 原文地址:https://www.cnblogs.com/Alei777/p/15260942.html
Copyright © 2020-2023  润新知