From b442e223ebb680f683f84f3ed594df27e4e76d2b Mon Sep 17 00:00:00 2001 From: jlhde123 ASUS <472327024@qq.com> Date: Thu, 9 Mar 2017 19:56:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20ArrayList=20=E7=9A=84?= =?UTF-8?q?=E5=AD=A6=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jlh/viewer/ArrayListTestList.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 jlh/src/main/java/com/jlh/viewer/ArrayListTestList.java diff --git a/jlh/src/main/java/com/jlh/viewer/ArrayListTestList.java b/jlh/src/main/java/com/jlh/viewer/ArrayListTestList.java new file mode 100644 index 0000000..21c4eaf --- /dev/null +++ b/jlh/src/main/java/com/jlh/viewer/ArrayListTestList.java @@ -0,0 +1,25 @@ +package com.jlh.viewer; + +import java.util.ArrayList; + +/** + * com.jlh.viewer + * Created by ASUS on 2017/3/9. + * 19:42 + */ +public class ArrayListTestList { + public static void main(String[] args) { + //一般实现了RandomAccess接口的类用loop快,其余的用iterator快, RandomAccess是空接口,仅做标志,代表该类是通过数组实现,可以快速随机访问 + // 类似与Serializable接口也仅仅做标记,其中serialVersionUID代表类的版本号,版本号不符合时以便抛出异常,一旦修改版本号就代表对之前版本的类不再支持 + //list 与一般colleciton不同的地方多了个Listiterator 比iterator 多了可以修改的支持 iterator是快速失败的核心 + //capacity 默认10 默认1.5倍扩容,如果1.5倍还是要小直接扩容至最小的需要大小 vector 为2倍 且为线程安全 + int capacity=16; + ArrayList arrayList = new ArrayList<>(capacity); + for (int i=0;i<17;i++){ + arrayList.add(i); + } + //压缩多余空余空间 + arrayList.trimToSize(); + System.out.println(arrayList.toArray().length); + } +} -- Gitee