zoukankan      html  css  js  c++  java
  • 讲讲java集合类中ArrayList的用法

    声明:内容部分来自博客园盆古博客内容。

                      刚刚学了一下java中ArrayList的简单用法。

                      具体源码见https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

                      ArrayList类在Java.util包中。是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征。可以随时从链表中添加或删除一个元素。ArrayList实现了List接口。

                      数组是静态的,数组被初始化之后,数组长度就不能再改变了。ArrayList是可以动态改变大小的。那么,什么时候使用Array(数组),什么时候使用ArrayList?答案是:当我们不知道到底有多少个数据元素的时候,就可使用ArrayList;如果知道数据集合有多少个元素,就用数组。有点像c++中的动态数组,vector。

                        ArrayList也是一个类,所以它也有自己的方法,主要为以下内容。

     1.ArrayList构造函数

    ArrayList类支持3个构造方法。

    • Arraylist()

    这个构造方法构造了一个空的链表。

    • ArrayList(Collection<? extends E> c)

    这个构造方法构造了一个包含指定元素集合的链表,注意,这里的字符E是一个标记,用来表示集合中元素的类型。至于具体是什么类型,需要你在使用这个构造方法的时候来指定。

    • ArrayList(int initialCapacity)

    这是第三个构造方法,构造了一个指定大小但内容为空的链表。initialCapacity参数就是初始容量大小。

    举例来说,如果你要创建一个空的数组链表,用来存放String类型的对象,那么你可以像下面这样做:

    ArrayList<String> list = new ArrayList<String>();

    如果你需要创建一个指定初始容量的数组链表,你可以像下面这样做:

    ArrayList<Integer> list = new ArrayList<Integer>(7);

    注意:ArrayList类只支持对象类型,不支持 基础数据类型。就是说ArrayList对象只能存放对象,不能存放基础数据类型的数据。

    2.ArrayList常用方法

    下面是总结了一些比较常用的ArrayList类成员方法:

    • 增加元素到链表中
      • boolean add(Element e)
        增加指定元素到链表尾部.
      • void add(int index, Element e)
        增加指定元素到链表指定位置.
    • 从链表中删除元素
      • void clear()
        从链表中删除所有元素.
      • E remove(int index)
        删除链表中指定位置的元素.
      • protected void removeRange(int start, int end)
        删除链表中从某一个位置开始到某一个位置结束的元素。
    • 获取链表中的元素
      • E get(int index)
        获取链表中指定位置处的元素.
      • Object[] toArray()
        获取一个数组,数组中所有元素是链表中的元素.(即将链表转换为一个数组)
    • 修改某个元素
      • E set(int index, E element)
        将链表中指定位置上的元素替换成新元素。
    • 搜索元素
      • boolean contains(Object o)
        如果链表包含指定元素,返回true.
      • int indexOf(Object o)
        返回元素在链表中第一次出现的位置,如果返回-1,表示链表中没有这个元素。
      • int lastIndexOf(Object o)
        返回元素在链表中最后一次出现的位置,如果返回-1,表示链表中没有这个元素。
    • 检查链表是否为空
      • boolean isEmpty()
        返回true表示链表中没有任何元素.
    • 获取链表大小
      • int size()
        返回链表长度(链表包含元素的个数).

                                                                                                                                                                                                                                                                         

  • 相关阅读:
    s3c2440裸机-内存控制器(三-3、norflash编程之uboot中操作norflash)
    s3c2440裸机-内存控制器(三-2、norflash编程之适配访问时序)
    s3c2440裸机-异常中断(五. irq之定时器中断)
    s3c2440裸机-异常中断(四. irq之外部中断)
    s3c2440裸机-异常中断(三. swi软中断)
    s3c2440裸机-异常中断(二. und未定义指令异常)
    s3c2440裸机-异常中断(一. 异常、中断的原理与流程)
    s3c2440裸机-代码重定位、清bss的优化和位置无关码
    buildroot教程
    软件项目的目录结构
  • 原文地址:https://www.cnblogs.com/Wangjiaq/p/8869749.html
Copyright © 2011-2022 走看看