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。

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

  • 相关阅读:
    【Azure 环境】自动化账号生成的时候怎么生成连接与证书
    IntelliJ IDEA 查看类继承关系图,太强大了!
    我们到底为什么要用 IoC 和 AOP
    二叉树、平衡二叉树、红黑树、B树、B+树与B*树
    B-Tree 和 B+Tree傻傻分不清楚
    13K点赞都基于 Vue+Spring 前后端分离管理系统ELAdmin,大爱
    Spring Boot快速开发企业级Admin管理后台
    盘点 Github 上的高仿 app 项目,B站 微博 微信等等
    LeSS 的诞生(一):大规模团队该何去何从
    同事有话说 | 那些所谓的敏捷仪式感
  • 原文地址:https://www.cnblogs.com/Alei777/p/15260942.html
Copyright © 2011-2022 走看看