一文学懂List附带超详细ArrayList,Vector,LinkedList底层源码解析

1.为什么要用集合

之前我们保存多个数据使用的都是数组,这有很多的局限性

  1. 长度必须直接指定,而且一旦指定,不能更改。
  2. 保存的必须为同一类型的元素
  3. 使用数组进行增加/删除元素十分麻烦,浪费内存空间。

因此Java为我们提供了更方便的数组,集合

2.认识集合

  1. 可以动态保存多个对象,使用方便。
  2. 提供了一系列方便的操作对象的方法,如add,remove等。
  3. 使用集合添加,删除新元素十分便捷。

3. 集合体系

集合分为两组,单列集合与双列集合,分别对应Collection和Map,前者以元素形式存储数据,后者以键值对方式存储(key-value)。

在这里插入图片描述

4.Collection接口

4.1 Collection接口特点
  1. collection实现子类可以存放多个元素,每个元素可以是Object。
  2. Collection的实现类有些可以存放重复元素,有些不可以。
  3. Collection的实现类,有些存放元素是有序的(LIst),有些不是有序(Set)。
  4. Collection接口并没有直接的实现子类,是通过它的子接口Set和List来实现的。
4.2 Collection接口常用方法

这里用List集合演示

List list = new ArrayList();//创建集合对象
// add:添加单个元素
list.add("jack");
list.add(10);//list.add(new Integer(10))
list.add(true);
System.out.println("list=" + list);
// remove:删除指定元素
list.remove(0);//删除第一个元素
list.remove(true);//指定删除某个元素
//contains:查找元素是否存在
System.out.println(list.contains("jack"));
// size:获取元素个数
System.out.println(list.size());//2
//isEmpty:判断是否为空
System.out.println(list.isEmpty());//F
// clear:清空
list.clear();
//addAll:添加多个元素,也就是类似两个集合合并
ArrayList list2 = new ArrayList();
list2.add("红楼梦");
list2.add("三国演义");
list.addAll(list2);
// containsAll:查找多个元素是否都存在
System.out.println(list.containsAll(list2));
// removeAll:删除多个元素
list.removeAll(list2)
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁 柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值