码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习笔记23

时间:2015-02-27 21:33:56      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:collection   源码   集合   集合框架   java   

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

标签:collection   源码   集合   集合框架   java   

原文地址:http://blog.csdn.net/hai_qing_xu_kong/article/details/43972053

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!