博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 集合类——Collections(1)
阅读量:6805 次
发布时间:2019-06-26

本文共 2099 字,大约阅读时间需要 6 分钟。

废话不多说,先上关系图

集合类接口

List接口

List是列表类型,以线性方式存储对象。

List接口的三个典型实现:

  • List list = new ArrayList();  //底层数据结构是数组,查询快,增删慢;线程不安全,效率高
  • List list = new LinkedList();  //底层数据结构是链表,查询慢,增删快;线程不安全,效率高
  • List list = new Vector();  //底层数据结构是数组,查询快,增删慢;线程安全,效率低,几乎已淘汰这个集合
  • Stack stack = new Stack();  //Stack是Vector提供的一个子类,用于模拟“栈”这种数据结构(LIFO后进先出)

List接口常用方法:

  • add(int index, Object obj):指定索引位置添加元素,后面对象的索引位置相对往后移。
  • set(int index, E element):用指定元素替换列表指定位置的元素,返回以前在指定位置的元素。
  • indexOf(Object obj):返回对象在列表中第一次出现的索引位置,如果集合不包含该元素则返回-1.
  • lastIndexOf(Object obj):返回对象在列表中最后一次出现的索引位置,如果集合不包含该元素则返回-1.
  • listIterator():用来获得一个包含所有对象的ListIterator迭代器。

ArrayList

public class ArrayList
extends AbstractList
implements List
, RandomAccess, Cloneable, java.io.Serializable { //版本号 private static final long serialVersionUID = 8683452581122892189L; //默认容量 private static final int DEFAULT_CAPACITY = 10; //空对象数组 private static final Object[] EMPTY_ELEMENTDATA = {}; //默认空对象数组 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; //元素数组,用于存放实际元素,并标记为transient,意味着序列化的时候,此字段不会被序列化。 transient Object[] elementData; //实际元素大小,默认为0 private int size; //最大数组容量 private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;}复制代码

构造函数

// 默认构造函数ArrayList()// capacity是ArrayList的默认容量大小。当由于增加数据导致容量不足时,容量会添加上一次容量大小的一半。ArrayList(int capacity)// 创建一个包含collection的ArrayListArrayList(Collection
collection)复制代码

关键函数用法示例

public void test() {   List
list = new ArrayList<>(); list.add("a"); //增加元素 list.add(1, "bb"); //指定索引位置增加元素 System.out.println(list.get(0)); //获取指定索引值的元素 System.out.println(list.size()); //获取长度 list.set(1, "ccc"); //修改该索引值 list.remove(1); //移除指定索引值的元素 list.remove("a"); //移除指定元素 List
list1 = new ArrayList<>(); list1.add("zzz"); list1.add("xxx"); list.addAll(list1); //增加该collections的所有元素 for (String aList : list) { System.out.println(aList); } list.removeAll(list1); //移除该collections的所有元素}复制代码

转载于:https://juejin.im/post/5c73985ce51d4525f05456ee

你可能感兴趣的文章
scala访问MySQL数据库
查看>>
中国芯热情高涨 步履也更为坚实 近期我国多家企业再获“芯”突破
查看>>
Memory for crash kernel (0x0 to 0x0) notwithin permissible range
查看>>
wifi×××破解的密码查看方式
查看>>
Spring MVC 全局异常处理(1) --HandlerExceptionResolver
查看>>
难忘的一课
查看>>
如何恢复丢失的分区及文件
查看>>
重磅丨三年沉淀 2018全球人工智能技术大会蓄势待发
查看>>
【智能家居v1.0项目】C#实现scoket通信
查看>>
我的友情链接
查看>>
强制卸载域控制器
查看>>
codeigniter_MY_Model
查看>>
php实现事件监听与触发的方法
查看>>
我的友情链接
查看>>
我把Ubuntu 10.10放进了自己的口袋
查看>>
Leetcode 好题
查看>>
Mysql数据库性能优化
查看>>
java-第十一章-类的无参方法-模拟ATM机进行账户余额查询
查看>>
linux 系统tty、pty和pts 的概念及区别
查看>>
centos 6.5 找回root密码的方法
查看>>