zoukankan      html  css  js  c++  java
  • Java-集合第一篇认识Java集合

    1、4种集合类型

        List:有序可重复集合。

        Queue:队列集合。

        Set:无序不可重复集合。

        -------------------------------

        Map:关系映射集合。

    2、所有的集合类都位于java.util包下。java.util.concurrent下在java5后增加了多线程支持的集合类。

    3、数组中的元素可以是基本数据类型的值,也可以是对象。而集合中只能保存对象。

    4、集合的派生关系

       Collection体系:LinkedList最特殊,有两个父接口。queue与List类似。

       Map体系:

      Map保存的每项数据都是key-value对。

      总结:由于queue类似于List,所以集合大体可以分为3类,即List、Map、Set。访问List集合中的元素,可以通过元素的索引来访问;如果访问Map中的元素,可以根据每项元素的key来访问其value;如果访问Set中的元素,只能通过元素本身(这也是Set不允许元素重复的原因)。

    5、Collection接口,是Set、Queue、List接口的父接口。

        其定义的方法有:

        1》boolean add(Object o):向集合中添加一个元素。集合对象被添加操作改变了,则返回true。

        2》boolean addAll(Collection c):将集合c中的所有元素添加到指定的集合中。集合对象被添加操作改变了,则返回true。

        3》void clear():清除集合里的所有元素,将集合长度变为0。

        4》void contains(Object o):返回集合中是否包含指定元素。

        5》boolean containsAll(Collection c):返回集合里是否包含集合c里的所有元素。

        6》boolean isEmpty():返回集合是否为空。当集合长度为0时返回true,否则返回false。

        7》Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。

        8》boolean remove(Objeact o):删除集合中的指定元素o,当集合中包含了一个或者多个元素o时,该方法只删除第一个符合条件的元素,该方法将返回true。

        9》boolean removeAll(Collection c):从集合中删除集合c里包含的所有元素(相当于调用该方法的集合减集合c),如果删除了一个或者一个以上的元素,则该方法返回true。

       10》boolean retainAll(Collection c):从集合中删除集合c里不包含的元素(相当于把调用该方法的集合变成该集合和集合c的交集),如果该操作改变了调用该方法的集合,则该方法返回true。

       11》int size():该方法返回集合里元素的个数。

       12》Object[] toArray():该方法把集合转换成数据,所有的集合元素变成对应的数据元素。

    6、Iterator接口也是Java集合框架的成员,Iterator主要用于遍历(迭代)Collection集合中的元素,Iterator对象也被称为迭代器。其定义了如下4个方法:

       1》bolean hasNext():如果被迭代的集合还有元素没有被迭代完,则返回true。

       2》Object next():返回集合里的下一个元素。

       3》void remove():删除集合里上一次next方法返回的元素。

       4》void forEachRemaining(Consumer action):Java 8为Iterator新增的默认方法,该方法可以使用Lambda表达式遍历集合。

       使用Iterator对集合元素进行迭代时,Iterator并不是把集合元素本身传给了迭代变量,而是把集合元素的值传递给了迭代变量,即修改迭代变量的值对集合元素本身没有任何影响。通过Iterator的remove()方法删除上一次next()方法返回的集合元素。

    7、使用foreach循环遍历集合元素

    for(String book:books){
       System.out.println(book);
    }

       使用Iterator对集合元素进行迭代时,Iterator并不是把集合元素本身传给了迭代变量,而是把集合元素的值传递给了迭代变量,修改迭代变量值是无意义的。迭代过程当中不能修改集合中的元素,比如调用集合的remove()方法。

    8、Java 8新增的Predicate操作集合

       Java 8为Collection集合新增一个removeIf(Predicate filter)方法,该方法将会批量删除符合filter条件的所有元素。Predicate也是函数式接口。

    Collection books=new HashSet();
    ...
    books.removeIf(ele->((String)ele).length()<10);

    9、Java 8新增的Stream操作集合

       Java 8还新增了Stream、IntStream、LongStream、DoubleStream等流式API。

  • 相关阅读:
    ADF中遍历VO中的行数据(Iterator)
    程序中实现两个DataTable的Left Join效果(修改了,网上第二个DataTable为空,所处的异常)
    ArcGIS api for javascript——鼠标悬停时显示信息窗口
    ArcGIS api for javascript——查询,然后单击显示信息窗口
    ArcGIS api for javascript——查询,立刻打开信息窗口
    ArcGIS api for javascript——显示多个查询结果
    ArcGIS api for javascript——用图表显示查询结果
    ArcGIS api for javascript——查询没有地图的数据
    ArcGIS api for javascript——用第二个服务的范围设置地图范围
    ArcGIS api for javascript——显示地图属性
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11376118.html
Copyright © 2011-2022 走看看