11.2 Java集合框架梳理

11.2  集合框架(Collections Framework)

目录

11.2  集合框架(Collections Framework)

11.2.1  引入

11.2.1  集合框架的分类

1.基本操作

2.批量操作

3.数组操作

4.流(Stream)操作


11.2.1  引入

应用场景:编写面向对象的程序时,经常要用到一组类型相同的对象,可以使用数组来集中存放这些类型相同的对象,注意数组一经定义后将无法改变大小,因此Java提供了一个集合框架定义了一组接口和类,使得处理对象更为容易
定义:集合是指集中存放一组对象的一个对象,可以将集合看作是能够操作这些元素的容器,包括了保存、获取和操作其他元素的方法。

11.2.1  集合框架的分类

集合框架分为两种类型:
1.Collection:该对象存放一组对象
2.Map:该对象存放一组“关键字/值”的对象
Collection和Map是最基本的接口,它们又有子接口,这些接口的层次关系如图11-1所示

图11-1  集合框架的接口继承关系(包画不直的!)

集合都是泛型类型,而Collection<E>接口是所有集合类型的根接口,继承了Iterable<E>,它有三个子接口:Set接口、List接口、Queue接口


1.基本操作

实现基本操作的方法有:添加元素、删除指定元素、返回集合中元素的个数、返回集合的迭代器对象
boolean add(E e):向集合中添加元素e
boolean remove(Object o):从集合中删除指定元素o
boolean contains(Object o):返回集合中是否包含指定的元素o
boolean isEmpty():返回集合是否为空,返回是否包含元素
int size():返回集合中包含的元素个数
Iterator iterator():返回包含所有元素的迭代器对象
default void forEach(Conumser<? super T>)   //?包含T或者T的父类型(泛型的有界类型参数):迭代器对象从父接口继承的方法,在集合的每个元素上执行指定的操作

2.批量操作

boolean addAll(Collection  <?  extends  E> c):将集合c中的所有元素添加到当前的集合中
boolean removeAll(Collection<?> c):从当前集合中删除c中的所有元素
boolean containsAll(Collection<?> c):返回当前集合是否包含c中的所有元素
boolean retainAll(Collection<?> c):在当前集合中只保留指定集合c中的元素,其他元素删除
void clear():将集合清空

3.数组操作

下面方法可以将集合元素转换为数组元素
Object[] toArray():返回包含集合中所有元素的对象数组
<T> T[]  toArray(T[] a):返回包含集合中所有元素的数组,返回数组的元素类型是指定的数组类型

设c是一个Collection对象,下面的代码将c中的对象转换成一个新的Object数组,数组的长度与集合c中元素个数相同

Object [] a = c.toArray();

假设知道c中只包含String对象,可用下面的代码将其转换成String数组,它的长度与c中的元素个数相同
String [] a=c.toArray(new String[0]);
//此处的new String[0]就是起一个模板的作用,指定了返回数组的类型,0是为了节省空间,因为它只是为了说明返回的类型
--------------------- 
作者:defineshan 
来源:CSDN 
原文:https://blog.csdn.net/defineshan/article/details/52763637 
版权声明:本文为博主原创文章,转载请附上博文链接!

4.流(Stream)操作

stream API是Java 8新增的功能,可以称它为流API。可以在集合上创建一个Stream对象,然后在其上执行有关操作。
public default Stream<E> stream():以当前集合作为源返回一个顺序Stream对象
public default Stream<E> paralellstream():以当前集合作为源返回一个并行Stream对象
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值