• 集合


    1.为什么使用集合框架

    如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架

    1. Java集合框架包含的内容

    Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

    1>接口

    Collection              Map

           List               Set   HashMap TreeMap

    ArrayList  LinkedList  HashSet  TreeSet

    2>具体类

    3>算法 Collections

    Collection 接口存储一组不唯一,无序的对象

    List 接口存储一组不唯一,有序(插入顺序)的对象

    Set 接口存储一组唯一,无序的对象

    Map接口存储一组键值对象,提供keyvalue的映射

    1. List接口的实现类

    1>ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

    2>LinkedList采用链表存储方式。插入、删除元素时效率比较高

    1. List接口常用方法

    方法名                    

    boolean add(Object o)   在列表的末尾顺序添加元素,起始索引位置从0开始

    void add(int index,Object o)  在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间

    int size()             返回列表中的元素个数

    Object get(int index)   返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换

    boolean contains(Object o) 判断列表中是否存在指定元素

    boolean remove(Object o)  从列表中删除元素

    Object remove(int index)  从列表中删除指定位置元素,起始索引位置从0开始

    1. LinkedList的特殊方法

       方法名                     

    void  addFirst(Object o)   在列表的首部添加元素

    void  addLast(Object o)  在列表的末尾添加元素

    Object  getFirst()        返回列表中的第一个元素

    Object  getLast()       返回列表中的最后一个元素

    Object  removeFirst()   删除并返回列表中的第一个元素

    Object  removeLast()    删除并返回列表中的最后一个元素

    1. Map接口常用方法

    方法名                           

    Object put(Object key, Object val) “键-值对”的方式进行存储

    Object get (Object key)   根据键返回相关联的值,如果不存在指定的键,返回nul

    Object remove (Object key)  删除由指定的键映射的“键-值对”

    int size()               返回元素个数

    Set keySet ()             返回键的集合

    Collection values ()     返回值的集合

    Boolean containsKey (Object key) 如果存在由指定的     键映射的-值对,返回true

    1. 迭代器Iterator

    如何遍历Map集合呢?

    方法1:通过迭代器Iterator实现遍历

    获取Iterator Collection 接口的iterator()方法

    Iterator的方法

    boolean hasNext(): 判断是否存在另一个可访问的元素

    Object next(): 返回要访问的下一个元素

    方法2:增强for循环

    for(元素类型t  元素变量x : 数组或集合对象){

             引用了xjava语句

    }

     

  • 相关阅读:
    实践GoF的23种设计模式:装饰者模式
    我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!
    netty系列之:kequeue传输协议详解
    netty系列之:在netty中实现线程和CPU绑定
    netty系列之:在netty中使用native传输协议
    10分钟实现dotnet程序在linux下的自动部署
    Vue组件引入外部JS
    Http实战之Wireshark抓包分析
    6 分钟看完 BGP 协议。
    RepLKNet:不是大卷积不好,而是卷积不够大,31x31卷积了解一下 | CVPR 2022
  • 原文地址:https://www.cnblogs.com/pan520/p/12923885.html
Copyright © 2020-2023  润新知