Java学习笔记23
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相关推荐
- Java学习笔记(十)--控制台输入输出
输入输出 一.控制台输入 在程序运行中要获取用户的输入数据来控制程序,我们要使用到 java.util 包中的 Scanner 类.当然 Java 中还可以使用其他的输入方式,但这里主要讲解 Scan ...
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- 【Java学习笔记之二十六】深入理解Java匿名内部类
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...
- Java学习笔记22:并发(2)
Java学习笔记22:并发(2) 图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行 ...
- Java学习笔记Day02
Java学习笔记Day02 一.细化Hello程序 1.详解代码 //公有的类,叫做Hello public class Hello{//主方法public static void main(Stri ...
- 尚学堂Java学习笔记
尚学堂Java学习笔记 ============================ J2SDK&JRE J2SDK:JAVA2 SOFTWARE DEVELOPMENT KIT JRE:JAVA ...
- 郑志远的java学习笔记
郑志远的java学习笔记 郑志远 CCB 1 Java起源 略 2 Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...
- java学习笔记:全部,txt版本
java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...
- 【Java】Java学习笔记(2)——Java面向对象基础作业函数题
本人私人博客:Megalomania,大部分文章会现在博客上传,有不足之处欢迎指正. 学校小学期Java课程的练习题,留个档便于以后需要时候有例子可以回忆,写的烂的地方请多多包含 1.求两个数值之和 ...
最新文章
- 独家 | 如何用简单的Python为数据科学家编写Web应用程序?(附代码链接)
- SQL Server Integration Services 包的开发与部署初探
- Win10系列:JavaScript图形
- 一份平民化的应用性能优化检查列表(完整篇)--转
- hdu hide handkerchief
- cap流程图_化工工艺流程图制图图例汇编.pdf
- 【C++深度剖析教程30】C++中抽象类和接口
- libevent源码深度剖析一
- JS中的基本数据类型与引用数据类型
- 用vue开发一个app(1,基础环境配置)
- 稳坐CACTI,遥知千里
- EOF:warning: delimited by end-of-file
- Arduino怎么设置中文版?
- 三维实景下的南极科考站是什么样子?
- JavaScript小白基础学习教程
- 【Python】基于OpenCV与UDP实现的视频流传输
- 传统图像去噪方法(一)
- Python爬虫底层知识简介 - AI小白进阶之路
- Ubuntu18.4设置永久DNS
- github上传文件时,目录、文件的创建、复制、删除和移动等操作