Java▲还不懂Java集合框架?看这一篇就够了


Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
Java▲还不懂Java集合框架?看这一篇就够了
文章图片
话不多说 , 直接上图:
Java 集合 , 也称作容器 , 主要是由两大接口 (Interface) 派生出来的:Collection 和 Map
顾名思义 , 容器就是用来存放数据的 。
那么这两大接口的不同之处在于:

  • Collection 存放单一元素;
  • Map 存放 key-value 键值对 。
就是单身狗放 Collection 里面 , couple 就放 Map 里 。 (所以你属于哪里?)
学习这些集合框架 , 我认为有 4 个目标:
  1. 明确每个接口和类的对应关系;
  2. 对每个接口和类 , 熟悉常用的 API;
  3. 对不同的场景 , 能够选择合适的数据结构并分析优缺点;
  4. 学习源码的设计 , 面试
    要会答啊 。
Collection先来看最上层的 Collection.
Collection 里还定义了很多方法 , 这些方法也都会继承到各个子接口和实现类里 , 而这些 API 的使用也是日常工作和面试常见常考的 , 所以我们先来看下这些方法 。
操作集合 , 无非就是「增删改查」四大类 , 也叫 CRUD:
Create Read Update and Delete.
那我也把这些 API 分为这四大类:
下面具体来看:
增:boolean add(E e);

add() 方法传入的数据类型必须是 Object , 所以当写入基本数据类型的时候 , 会做自动装箱 auto-boxing 和自动拆箱 unboxing 。
还有另外一个方法 addAll() , 可以把另一个集合里的元素加到此集合中 。
boolean addAll(Collection<? extends E> c);

删:boolean remove(Object o);

remove()是删除的指定元素 。
那和 addAll() 对应的 , 自然就有removeAll() , 就是把集合 B 中的所有元素都删掉 。
boolean removeAll(Collection<?> c);

改:Collection Interface 里并没有直接改元素的操作 , 反正删和增就可以完成改了嘛!
查: