zoukankan      html  css  js  c++  java
  • 【幻化万千戏红尘】qianfengDay14-java基础学习:集合,ArrayList,Iterator,LinkedList

    课程回顾:

    Date

    SimpleDateFormat

    Calendar

    String

    StringBuffer/StringBuilder

    包装类

    今日内容:

    集合:动态的存储多个对象

    1、长度可变

    2、存储引用类型

    java中的集合:

    1Collection<E>:继承了迭代器接口

    子接口:

    1List<E>:允许重复且有序

    1ArrayList<E>:底层实现:数组

    2LinkedList<E>:底层实现:双链式结构

    2Set<E>:不可重复且无序

    是否保证添加顺序,保证就是有序,不保证就是无序

    2Map<K,V>

    只有继承迭代器接口都可以使用增强for循环进行遍历输出

    ArrayList<E>:底层实现:数组 新增和删除的效率较低,修改和查找的效率较高

    常用方法:

    1add:添加元素对象,添加到末尾

    2add(index,e):添加元素到指定位置

    3size:获取集合中元素的个数

    4get:获取指定索引的元素

    5contains:验证指定的元素是否存在

    6indexOf:查找指定元素第一次的索引(从前往后),找到就返回索引,找不到-1

    7lastIndexOf:查找指定元素第一次出现的索引(从后往前)

    8remove:删除指定元素并返回删除是否成功 或者 删除指定索引的元素并返回元素

    9set:设置元素

    10iterator:获取集合的迭代器对象,主要用于遍历输出

    Iterator<E>:迭代器接口

    常用方法:

    hasNext:验证是否还有元素

    next:获取元素

    谨记:next方法调用一次就相当于索引自增1

    如果到达了集合的末尾再调用next方法时,会抛异常

    LinkedList<E>:底层实现:双链式结构     新增和删除效率较高,查询和修改效率较低

    常用方法:

    添加方法:

    add:添加,末尾

    addFirst:添加,首位

    addLast:添加,末尾

    offer添加,末尾

    offerFirst添加,首位

    offerLast添加,末尾

    push:添加到首位

    获取方法:

    get:获取指定索引的元素

    getFirst获取首位元素

    getLast获取最后一个元素

    element获取首位元素

    peek获取首位元素,如果为null则返回null

    peekFirst获取首位元素

    peekLast获取最后一个元素

    获取并删除方法:

    remove:获取并删除指定索引的元素

    removeFirst获取删除首位元素

    removeLast获取删除最后一个元素

    poll:获取删除首位元素

    pollFirst获取删除首位元素

    pollLast获取删除最后一个元素

    pop获取并删除首位元素

    其它方法:

    size:元素个数

    set:设置元素

    indexOf:从前往后查询

    lastIndexOf:从后往前查询

    clear:清空

    contains:包含

    集合:

    add

    remove

    set

    indexOf

    模拟堆栈:先进后出

    push:添加到首位

    pop获取并删除首位元素

    模拟队列:先进先出

    offer添加,末尾

    offerFirst添加,首位

    offerLast添加,末尾

    peek获取首位元素,如果为null则返回null

    peekFirst获取首位元素

    peekLast获取最后一个元素

    poll:获取删除首位元素

    pollFirst获取删除首位元素

    pollLast获取删除最后一个元素

    泛型:5.0之后

    之前的集合元素都是Object类型

    元素类型使用Object缺点:

    1、向上向下转型,性能损耗

    2、容易有ClassCastException异常

    泛型:引用数据类型的占位符

    好处:

    1、避免了存储和取出的对象转换,提供了效率

    在实际使用的时候,必须指明泛型的具体的引用类型

    java中的括号:

    ():方法

    []:数组

    {}:代码块,类体、方法体等

    <>:泛型

    练习:使用LinkedList进行存储整型

    要求随机生成数字填充,长度不限制

    查询8这个数字出现的次数

  • 相关阅读:
    一个matlab小程序:挑出沪市A股年报与一季度报在同一天发布的股票
    AWK
    matlab搜索路径
    从新浪财经上下载交易明细数据并统计每天的买卖笔数(shell 命令行)
    AWK截取字符串
    tar GNU
    工作效率上的错觉(转载)
    matlab双精度浮点数编码及区间覆盖(原创)
    DNS服务器设置(Ubuntu10.04)
    sed
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5735909.html
Copyright © 2011-2022 走看看