当前位置 : 主页 > 编程语言 > java >

Java 集合框架看这一篇就够了

来源:互联网 收集:自由互联 发布时间:2023-08-09
话不多说,直接上图: Java 集合,也称作容器,主要是由 两大接口 (Interface) 派生出来的: Collection 和 Map 顾名思义,容器就是用来存放数据的。 那么这两大接口的不同之处在于: Col


话不多说,直接上图:

Java 集合框架看这一篇就够了

Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的:
Collection 和 Map

顾名思义,容器就是用来存放数据的。

那么这两大接口的不同之处在于:

  • Collection 存放单一元素;
  • Map 存放 key-value 键值对。

就是单身狗放 Collection 里面,couple 就放 Map 里。(所以你属于哪里?

学习这些集合框架,我认为有 4 个目标:

  1. 明确每个接口和类的对应关系;
  2. 对每个接口和类,熟悉常用的 API;
  3. 对不同的场景,能够选择合适的数据结构并分析优缺点;
  4. 学习源码的设计,面试要会答啊。

关于 Map,之前那篇 HashMap 的文章已经讲的非常透彻详尽了,所以本文不再赘述。如果还没看过那篇文章的小伙伴,快去公众号内回复「HashMap」看文章吧~

Collection

先来看最上层的 Collection.

Java 集合框架看这一篇就够了

Collection 里还定义了很多方法,这些方法也都会继承到各个子接口和实现类里,而这些 API 的使用也是日常工作和面试常见常考的,所以我们先来看下这些方法。

操作集合,无非就是「增删改查」四大类,也叫 CRUD:

Create, Read, Update, and Delete.

那我也把这些 API 分为这四大类:

功能方法增add()/addAll()删remove()/ removeAll()改Collection Interface 里没有查contains()/ containsAll()其他isEmpty()/size()/toArray()

下面具体来看:

增:
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 里并没有直接改元素的操作,反正删和增就可以完成改了嘛!

查:
  • 查下集合中有没有某个特定的元素:
boolean contains(Object o);
  • 查集合 A 是否包含了集合 B:
boolean containsAll(Collection<?> c);
还有一些对集合整体的操作:
  • 判断集合是否为空:
boolean isEmpty();
  • 集合的大小:
int size();
  • 把集合转成数组:
Object[] toArray();

【出处:响水网页开发公司 http://www.1234xp.com/xiangshui.html 欢迎留下您的宝贵建议】

网友评论