• 4.21Java容器中的方法Colletion接口


    4.21Java容器中的方法---Colletion接口

    Collection概念

    Collection表示一组对象,是集中、收集之意。

    Collection接口中定义的方法

    方法说明
    boolean add(Object element) 增加元素到容器中
    boolean remove(Object element) 从容器中移除元素
    boolean contains(Object element) 容器中是否包含该元素
    int size() 容器中元素的数量
    boolean isEmpty() 判断容器是否为空
    void clear() 清空容器中所有元素
    Iterator iterator() 获得迭代器,用于遍历所有元素
    boolean containsAll(Collection c) 本容器是否包含c容器中所有元素
    boolean addAll(Collection c) 将容器c中所有元素增加到本容器
    boolean removeAll(Collection c) 移除本容器和容器c中都包含的元素(共同的元素---交集)
    boolean retainAll(Collection c) 取本容器和容器c中都包含的元素(移除非交集元素)
    Object[] toArray() 转化成Object数组

    Collection子接口

    List
    Set
    • 因为List和Set子接口继承了Collection

    • 所以在List和Set中都有Collection的方法

    size和isEmpty方法
    package com.collection;

    import java.util.*;

    /**
    * 测试Collection接口中的方法---容器的接口
    * @author Lucifer
    */
    public class TestList {
       public static void main(String[] args) {

           /*容器接口,泛型是放字符串*/
           Collection<String> c = new ArrayList();
           /*
           ArrayList实现了List接口
           List接口继承了Collection接口
           Collection要加泛型
            */

           /*测试Collection里面的方法*/
           System.out.println(c.size());
           System.out.println(c.isEmpty());
      }
    }
    add和remove方法、clear方法
    package com.collection;

    import java.util.*;

    /**
    * 测试Collection接口中的方法---容器的接口
    * @author Lucifer
    */
    public class TestList {
       public static void main(String[] args) {

           /*add方法*/
           c.add("James"); //存储的是对象的地址,移除的时候也是移除对象在容器中的地址
           c.add("Harden");
           System.out.println(c);
           System.out.println(c.size());

           /*remove方法*/
           c.remove("Harden"); //注意这个方法是从容器里面移除,并不是删除它---对象本身存在,只是不在容器里面
           System.out.println(c);
           System.out.println(c.size());
           
           /*clear方法*/
           c.clear(); //移除所有元素在容器中的地址
           System.out.println(c.size());
      }
    }
    contains和Object[] toArray方法
    package com.collection;

    import java.util.*;

    /**
    * 测试Collection接口中的方法---容器的接口
    * @author Lucifer
    */
    public class TestList {
       public static void main(String[] args) {

           /*容器接口,泛型是放字符串*/
           Collection<String> c = new ArrayList<>();
           /*
           ArrayList实现了List接口
           List接口继承了Collection接口
           Collection要加泛型
            */

           /*add方法*/
           c.add("James"); //存储的是对象的地址,移除的时候也是移除对象在容器中的地址
           c.add("Harden");
           System.out.println(c);
           System.out.println(c.size());

           /*contains方法*/
           System.out.println(c.contains("Jun"));
           System.out.println(c.contains("James"));
           /*
           contains方法实现的底层机制涉及到
           equals方法
            */

           /*Object toArray方法*/
           Object[] objs = c.toArray();
           System.out.println(objs);
           System.out.println(Arrays.toString(objs));

           /*
           因为List和Set子接口继承了Collection
           所以在List和Set中都有Collection的方法
            */
      }
    }

    测试集合方法:

        /*测试集合相关的操作---两个容器*/
       public static void test01(){

      }

       public static void test02(){

           List<String> list01 = new ArrayList<>();
           list01.add("aa");
           list01.add("bb");
           list01.add("cc");

           List<String> list02 = new ArrayList<>();
           list02.add("aa");
           list02.add("dd");
           list02.add("ee");

           System.out.println("list01:" + list01);

           /*测试addAll方法*/
           list01.addAll(list02);
           list01.addAll(list02);
           System.out.println("list01:" + list01);

           /*测试moveAll方法*/
           list01.removeAll(list02);
           System.out.println("list01:" + list01);

           /*retainAll取交集方法*/
           list01.retainAll(list02);
           System.out.println("list01:" + list01);

           /*containsAll方法*/
           System.out.println(list01.containsAll(list02));

      }

    }

    Collection接口的方法基本上在这类已经完了

    List里面的一半的方法也已经完了

    Set的方法基本上和Collection一致

    通过源码查看

     

    It's a lonely road!!!
  • 相关阅读:
    2017-4-6校内训练
    [BZOJ]1023: [SHOI2008]cactus仙人掌图
    [BZOJ]1086: [SCOI2005]王室联邦
    [BZOJ]1055: [HAOI2008]玩具取名
    [BZOJ]3527: [Zjoi2014]力
    [BZOJ]2820: YY的GCD
    【BZOJ3233】【tyvj1729】文艺平衡树
    【数据结构】【平衡树】无旋转treap
    【BZOJ2733】【HNOI2012】永无乡
    【BZOJ3224】【tyvj1728】普通平衡树
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14686558.html
Copyright © 2020-2023  润新知