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。

  • 相关阅读:
    hudson搭建经验总结(二)
    CodePen最佳实例分享
    hudson搭建经验总结
    资料文件夹管理系统
    ueditor+word图片上传
    asp.net上传大文件
    UEditor粘贴word
    大文件上传组件
    文件资源管理系统
    ueditor+复制word图片粘贴上传
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11376118.html
Copyright © 2011-2022 走看看