• java 集装箱 arraylist 用法


    1. ArrayList概述:

    ArrayList 是一个数组队列。相当于 动态数组。

    与Java中的数组相比。它的容量能动态增长。它继承于AbstractList。实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。
    ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的加入、删除、改动、遍历等功能。


    ArrayList 实现了RandmoAccess接口,即提供了随机訪问功能。RandmoAccess是java中用来被List实现,为List提供高速訪问功能的。在ArrayList中,我们即能够通过元素的序号高速获取元素对象;这就是高速随机訪问。稍后,我们会比較List的“高速随机訪问”和“通过Iterator迭代器訪问”的效率。
    ArrayList 实现了Cloneable接口,即覆盖了函数clone()。能被克隆。
    ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。
    和Vector不同,ArrayList中的操作不是线程安全的。

    所以。建议在单线程中才使用ArrayList,而在多线程中能够选择Vector或者CopyOnWriteArrayList。







    二 、构造函数

    // 默认构造函数
    ArrayList()
    // capacity是ArrayList的默认容量大小。当因为添加数据导致容量不足时,容量会加入上一次容量大小的一半。
    ArrayList(int capacity)
    // 创建一个包括collection的ArrayList
    ArrayList(Collection<? extends E> collection)

    三、 API

    / Collection中定义的API
    boolean             add(E object)
    boolean             addAll(Collection<?

    extends E> collection)
    void                clear()
    boolean             contains(Object object)
    boolean             containsAll(Collection<?

    > collection)
    boolean             equals(Object object)
    int                 hashCode()
    boolean             isEmpty()
    Iterator<E>         iterator()
    boolean             remove(Object object)
    boolean             removeAll(Collection<?

    > collection)
    boolean             retainAll(Collection<?> collection)
    int                 size()
    <T> T[]             toArray(T[] array)
    Object[]            toArray()
    // AbstractCollection中定义的API
    void                add(int location, E object)
    boolean             addAll(int location, Collection<? extends E> collection)
    E                   get(int location)
    int                 indexOf(Object object)
    int                 lastIndexOf(Object object)
    ListIterator<E>     listIterator(int location)
    ListIterator<E>     listIterator()
    E                   remove(int location)
    E                   set(int location, E object)
    List<E>             subList(int start, int end)
    // ArrayList新增的API
    Object               clone()
    void                 ensureCapacity(int minimumCapacity)
    void                 trimToSize()
    void                 removeRange(int fromIndex, int toIndex)



    四、遍历方式


    package com.gao;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ArraylistDemo {
        public static void main(String args[]){
            List<String> list = new ArrayList<String>();
            list.add("Hello");
            list.add("Hello Arraylist");
    
            //方法1
            Iterator it1 = list.iterator();
            while(it1.hasNext()){
                System.out.println(it1.next());
            }
    
            //方法2
            for(Iterator it2 = list.iterator();it2.hasNext();){
                 System.out.println(it2.next());
            }
    
            //方法3
            for(String tmp:list){
                System.out.println(tmp);
            }
    
            //方法4
            for(int i = 0;i < list.size(); i ++){
                System.out.println(list.get(i));
            }
    
        }
    }
    
    


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    python程序打包,来源于知乎(已验证)
    登录窗体界面设计
    窗体应用常见操作
    MDI窗体应用
    第四单元
    Test3_3——3_20
    TEST3_2
    ff文字省略号
    jQuery 浏览器高度宽度获取
    CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4804094.html
Copyright © 2020-2023  润新知