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

深入理解java合集之框架总览

时间:2019-02-16 13:26:15      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:lte   添加   []   pre   深入理解java   区别   tail   自动   contains   

综述

    Java集合就是一个容器。面向对象语言对事物的体现都是以对象的形式存在,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。如果往集合里存放基本数据类型,在存取过程中会有个自动装箱和拆箱。

    因为容器中数据结构不同,容器有很多种。不断地将共性功能向上抽取,形成了集合体系,称之为集合框架。

技术图片


    集合框架的顶层就称之为Collection接口。所有的集合类都位于java.util包下,查阅API可以得到如下体系结构。在使用一个体系时,原则:参阅顶层内容。建立底层对象。


技术图片
     集合和数组的区别:

  1:数组是固定长度的;集合可变长度的。

  2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。

  3:数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。
------------------------------------------------------------------------------------------------------------------------------------

Collection<E>接口

    Collection:单列集合

         |--List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引,允许重复元素。

         |--Set:无序(存入和取出顺序有可能不一致),不允许重复元素,必须保证元素的唯一性。

    java.util.Collection接口中的共性方法有(抽象方法):

    1.添加:
        boolean add(Object obj):一次添加一个。
        boolean addAll(Collection c):将指定容器中的所有元素添加。

    2.删除:
        void clear():将集合中的元素全删除,清空集合。
        boolean remove(Object o):删除集合中指定的对象。注意:删除成功,集合的长度会改变。
        boolean removeAll(Collection c):删除部分元素。部分元素和传入Collection一致.           

       boolean removeIf(Predicate<? super E> filter)  删除删除满足给定谓词的这个集合的所有元素。

    3.取交集:
        boolean retainAll(Collection c):对当前集合中保留和指定集合中的相同的元素。
        如果两个集合元素相同,返回false;如果retainAll修改了当前集合,返回true。

    4.获取长度:
        int size():集合中有几个元素。

   5.判断:
        boolean isEmpty():集合中是否有元素。
        boolean contains(Object o):集合中是否包含指定元素。
        boolean containsAll(Collection c)集合中是否包含指定的多个元素。

    6.将集合转成数组。
        Object[] toArray()
        <T> T[] toArray(T[] t)

    7.取出集合元素。
        Iterator iterator():获取集合中元素上迭代功能的迭代器对象。

=========================================================================

Iterator<E>接口

    java.util.Iterator接口是一个对 collection 进行迭代的迭代器,作用是取出集合中的元素。

    Iterator iterator():获取集合中元素上迭代功能的迭代器对象。

    迭代:取出元素的一种方式。有没有啊?有!取一个。还有没有啊?有!取一个。还有没有啊?没有。算了。

    迭代器:具备着迭代功能的对象。迭代器对象不需要new。直接通过 iterator()方法获取即可。

    迭代器是取出Collection集合中元素的公共方法。


    每一个集合都有自己的数据结构,都有特定的取出自己内部元素的方式。为了便于操作所有的容器,取出元素,将容器内部的取出方式按照一个统一的规则向外提供,这个规则就是Iterator接口。

    也就说,只要通过该接口就可以取出Collection集合中的元素,至于每一个具体的容器依据自己的数据结构,如何实现的具体取出细节,这个不用关心,这样就降低了取出元素和具体集合的耦合性。

    Iterator it = coll.iterator();//获取容器中的迭代器对象,至于这个对象是是什么不重要。这对象肯定符合一个规则Iterator接口。


---------------------
作者:李春春_
来源:CSDN
原文:https://blog.csdn.net/zhongkelee/article/details/46801449
版权声明:本文为博主原创文章,转载请附上博文链接!




        

原文:https://blog.csdn.net/zhongkelee/article/details/46801449

深入理解java合集之框架总览

标签:lte   添加   []   pre   深入理解java   区别   tail   自动   contains   

原文地址:https://www.cnblogs.com/which24/p/10387232.html

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