zoukankan      html  css  js  c++  java
  • 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。

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

  • 相关阅读:
    组合模式及C++实现
    YUV422(UYVY)转RGB565源代码及其讲解.md
    会用errno,事半功倍
    可变参数宏
    camera理论基础和工作原理
    !!!??? 2.3 核心模块与应用程序的对比
    KVM与VMware的性能比较
    单片机中定时器与计数器的区别
    编译器对变量的内存分配方式
    【转载】Modelsim 与Vivado联合仿真版本对应问题
  • 原文地址:https://www.cnblogs.com/Alei777/p/15260942.html
Copyright © 2011-2022 走看看