Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如:栈、

队列等。除此之外,Java集合类还可用于保存具有映射关系的关联数组。Java集合大致可分为Set、List和Map三种

状态,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map代表具有映射关系的集合。

Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又

包含了一些子接口或实现类。

如下图所示是Collection接口、子接口及其实现类的继承树:

上图显示了Collection体系里的集合,其中Set和List接口是Collection接口派生的两个子接口,它们分别代表了无序集

合和有序集合;Queue是Java提供的队列实现,有点类似于List。

以下是Collection接口中定义的方法:

6、

<T> T[] toArray(T[] a);

返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。

7、

boolean add(E e);

该方法用于向集合里添加一个元素,如果集合对象被添加操作改变了,返回true,反之返回false。

8、

boolean remove(Object o);

从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。

9、

 boolean containsAll(Collection<?> c);

如果此 collection 包含指定 collection 中的所有元素,则返回 true

10、

 boolean addAll(Collection<? extends E> c);

将指定 collection 中的所有元素都添加到此 collection 中(可选操作),如果集合对象被添加操作改变了,返回true,反之返回false。

11、

boolean removeAll(Collection<?> c);

移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作), 如果集合对象被添加操作改变了,返回true,反之返回false。

12、

default boolean removeIf(Predicate<? super E> filter) {Objects.requireNonNull(filter);boolean removed = false;final Iterator<E> each = iterator();while (each.hasNext()) {if (filter.test(each.next())) {each.remove();removed = true;}}return removed;}

以上程序使用了default关键字给接口添加一个非抽象的方法,此方法被称为扩展方法,可供子类直接调用。通过

Objects工具类中的requireNonNull(T)方法检查是否为null,使用Predicate接口可以在对象集合里通过设置属性条件查

找对象。单看以上的程序,显示获取迭代器,最后遍历,通过Predicate接口中的test(T)方法返回的布尔值来判断是

否移除。

13、

 boolean retainAll(Collection<?> c);

仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作),如果集合对象被添加操作改变了,返回true,反之返回false。

14、

 void clear();

移除此 collection 中的所有元素(可选操作)。

15、

boolean equals(Object o);

比较此 collection 与指定对象是否相等。相等返回true,反之false 。

16、

 int hashCode();

返回此 collection 的哈希码值。

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/43972053  情绪控_

Java学习笔记23相关推荐

  1. Java学习笔记(十)--控制台输入输出

    输入输出 一.控制台输入 在程序运行中要获取用户的输入数据来控制程序,我们要使用到 java.util 包中的 Scanner 类.当然 Java 中还可以使用其他的输入方式,但这里主要讲解 Scan ...

  2. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  3. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  4. Java学习笔记22:并发(2)

    Java学习笔记22:并发(2) 图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行 ...

  5. Java学习笔记Day02

    Java学习笔记Day02 一.细化Hello程序 1.详解代码 //公有的类,叫做Hello public class Hello{//主方法public static void main(Stri ...

  6. 尚学堂Java学习笔记

    尚学堂Java学习笔记 ============================ J2SDK&JRE J2SDK:JAVA2 SOFTWARE DEVELOPMENT KIT JRE:JAVA ...

  7. 郑志远的java学习笔记

    郑志远的java学习笔记 郑志远    CCB 1         Java起源 略 2         Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...

  8. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  9. 【Java】Java学习笔记(2)——Java面向对象基础作业函数题

    本人私人博客:Megalomania,大部分文章会现在博客上传,有不足之处欢迎指正. 学校小学期Java课程的练习题,留个档便于以后需要时候有例子可以回忆,写的烂的地方请多多包含 1.求两个数值之和 ...

最新文章

  1. 独家 | 如何用简单的Python为数据科学家编写Web应用程序?(附代码链接)
  2. SQL Server Integration Services 包的开发与部署初探
  3. Win10系列:JavaScript图形
  4. 一份平民化的应用性能优化检查列表(完整篇)--转
  5. hdu hide handkerchief
  6. cap流程图_化工工艺流程图制图图例汇编.pdf
  7. 【C++深度剖析教程30】C++中抽象类和接口
  8. libevent源码深度剖析一
  9. JS中的基本数据类型与引用数据类型
  10. 用vue开发一个app(1,基础环境配置)
  11. 稳坐CACTI,遥知千里
  12. EOF:warning: delimited by end-of-file
  13. Arduino怎么设置中文版?
  14. 三维实景下的南极科考站是什么样子?
  15. JavaScript小白基础学习教程
  16. 【Python】基于OpenCV与UDP实现的视频流传输
  17. 传统图像去噪方法(一)
  18. Python爬虫底层知识简介 - AI小白进阶之路
  19. Ubuntu18.4设置永久DNS
  20. github上传文件时,目录、文件的创建、复制、删除和移动等操作

热门文章

  1. 对抗生成网络_深度卷积生成对抗网络
  2. 用python画爱心动图_编写Python爬虫抓取暴走漫画上gif图片的实例分享
  3. 研发团队资源成本优化实践
  4. web网站服务(二)
  5. 机会的度量:概率和分布
  6. 调试小技巧---利用调用堆栈
  7. 虚拟化数据中心服务器硬件配置建议
  8. 什么叫系统的可扩展性?
  9. vuepress 跑不起来?报错?空白页? res.getHeader is not a function?
  10. 记录自己的学习和经验