Java学习笔记23
来源:互联网 发布:linux tesseract yum 编辑:程序博客网 时间:2024/05/22 14:52
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);
8、
boolean remove(Object o);
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
9、
boolean containsAll(Collection<?> c);
如果此 collection 包含指定 collection 中的所有元素,则返回 true。
10、
boolean addAll(Collection<? extends E> c);
11、
boolean removeAll(Collection<?> c);
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学习笔记23
- Effective Java 学习笔记(23)
- Java学习笔记--CSS笔记
- java培训笔记23---内部类学习
- Java学习笔记 —— 23
- Java学习笔记(23) Sorting
- Java学习笔记(23)--foreach 使用
- Java学习笔记001
- Java 学习笔记
- java 学习笔记
- Java学习笔记
- java 学习笔记
- java学习笔记
- java学习笔记
- java学习笔记-1
- java虚拟机学习笔记
- java虚拟机学习笔记
- 每日三言
- python下载文件
- iOS中MVVM的架构设计
- 嵌入式智能平台在医疗仪器行业的应用方案
- ANDROID-友盟反馈自定义UI【部分原创】
- Java学习笔记23
- 读书《统计学习方法》
- hadoop实战基础篇(三)
- linux运行的空间
- ViewPager 案例(一)
- 【java编程】Collection工具类之重写BinarySearch方法
- Linux时区和时间
- View Controller 容器
- pat1064 Complete Binary Search Tree