# JAVA中集合解析篇一 ArrayList解析

来源:互联网 发布:软件著作权 英文 编辑:程序博客网 时间:2024/04/27 21:52

JAVA中集合解析篇一 ArrayList解析

转载请标明出处:—— [ 狂奔的蜗牛_杨柯]

友情提示:阅读本文大概需要4分钟,下面有列表目录,请对号入座,避免浪费您宝贵的时间。

  • ArrayList类的介绍
  • 常用的使用方法及解析
  • 个人使用感受,及注意事项分享
  • 练习demo

ArrrayList

ArrayList 位于 “java.util”包中,是开发中常用的集合类。它继承了AbstractList,实现了 Cloneable、Serializable、RandomAcces接口。其内部可以根据对象的大小自动扩容,或由开发人员限定其大小,可以说是数组的升级版或者复杂版。
用法及解析请直接看方法及解析 —— 权威文档附上 [ArrayList英文版介绍]

ArrayList常用方法总结

  • // ArrayList arrayList = new ArrayList(); 对象的构建。下面 “al == arrayList”&& ”al == 当前集合“ 希望读者注意。
  • // al.add(object); 当前集合添加一个对象,对象可以为任意类型
  • // al.add(index, object); 在指定的下标处添加对象,该位置有对象时,自动向后平移添加
  • // al.remove(index); 移除下标为index的对象
  • // al.remove(object); 移除object对象,object可以为任意对象
  • // al.removeAll(c); 从当前集合中移除c集合包含的所有对象,true标识成功
  • // al.get(index); 获取index下标的对象
  • // al.contains(object); 判定al中是否包含object对象,true标识包含
  • // al.isEmpty(); 判定al是否为空,true标识空
  • // al.indexOf(object); 标识object在al中出现的第一个位置
  • // al.lastIndexOf(object); 标识object在al中最后出现的位置
  • // al.size(); 标识al的大小
  • // al.clear(); 将al清空,留下的是一个空的集合”al.toString()”控制台打印是一对 “[ ]”符号

下面列举一些不常用方法:
- // al.clone(); 从al繁殖出一个新的集合,且大小、对象和al一致
- // al.toArray() 将al转为数组
- // al.containsAll(collection)检查al是否包含collection集合的所有对象,true标识包含

使用感受,及注意事项

al 和数组对比,al是数组的升级与封装。
-// 优点:开发者不用考虑al的大小,默认其内部会在容量不足时,自动扩大存储空间,用于存放对象 。其初始容量为10,标识可以存放10个对象,当al存放的数据达到上限时,其内部默认为其扩大存储容量《算法—> int newCapacity = (oldCapacity * 3)/2 + 1; 》翻译过来就是容量为原始容器的1.5倍,假设原始容量为10,扩容后为15。
-// 缺点: 当我们的数据量十分大时,al内部会来回的进行数据的拷贝和对象间的数据转存,将会比较耗时,如果我们可以确定对象的多少,默认可以在构建al的时候,初始化容量可以适量大,避免底层对象的频繁拷贝,减免内存的浪费。

-// 部分源码

// 当al的容量不足时,其内部会去调用底层函数去拷贝一个新的集合elementData = Arrays.copyOf(elementData, newCapacity);

自己写的一些demo测试–常用方法

 // ArrayList常用方法测试:         arrayList.add(object);         arrayList.add(index, object);         arrayList.remove(index);         arrayList.remove(object);         arrayList.contains(object);         arrayList.isEmpty();         arrayList.indexOf(object);         arrayList.lastIndexOf(object);         arrayList.size();         arrayList.clear();         arrayList.get(index);

自己写的一些demo测试–非~常用方法

 // ArrayList非常用方法测试:         arrayList.containsAll(collection)         arrayList.toArray()         arrayList.clone();

ArrayList 暂时更新到这里,小伙伴们若有疑问、或者建议,赶紧跟我提啊,非常感谢。 (^__^) 嘻嘻……下面我会陆续的更新集合相关的类。晚安 睡觉去。

1 0
原创粉丝点击