zoukankan      html  css  js  c++  java
  • [数据结构]

    一 概述

    ArrayList可以理解为动态数组,与java的数组相比,它的容量能动态曾长,ArrayList是List接口的可变数组的实现,允许包括null值在内的所有元素。除了实现List接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小(此类大致上等同于Vector类,除了此类是不同步的)

    每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝。因此,如果可预知数据量的多少,可在构造ArrayList时制定其容量。在添加大量元素之前,应用程序也可以使用ensureCapacity操作来增加ArrayList实例的容量,这可以减少递增式再分配的数量。

    注意,此实现不是同步的,如果多个线程同时访问一个ArrayList实例,而其中至少一个线程从结构上修改了列表,那么它必须保持外部同步。注意,结构上的修改是指任何添加或删除一个或多个元素的操作,或者显式调整底层数组的大小。仅仅设置元素的值不是结构上的修改。

    二 实现

    ArrayList的默认容量时10,每次扩充1.5倍

    未完待续。。

  • 相关阅读:
    扩展kmp
    计算几何板子
    组合数板子
    SecureML: A System for Scalable Privacy-Preserving Machine Learning 论文笔记
    mac任务管理器快捷键
    后缀数组
    poj 1144 Network【图的割点】模板
    CSU 1162【Balls in the Boxes】
    CSU 1111【三家人】数学题
    P1330 封锁阳光大学【二分染色】
  • 原文地址:https://www.cnblogs.com/balfish/p/8862752.html
Copyright © 2011-2022 走看看