Java学习之集合Conllection接口

集合

什么是集合?集合是用来存储数据的一类容器。可以理解为,集合是数组的进阶版。

对于普通数组,相信你肯定不陌生。普通数组的定义,取值,存储,对于程序开发人员来说,实在是不友好。例如:数组必须定义长度,必须预先定义类型,长度不可变,无论是新增元素还是删除元素都很麻烦。所幸,有集合可以替代普通数组。

集合的优势

相对于普通的数组,集合的优势在于:集合中封装了大量操作数据的方法,并且集合的长度可变。

下面放一个集合的架构图
集合架构
该图中,红色的是接口,白色的是实现类。整个框架中有两个最上层的接口,分别是代表着单列集合的Collection和双列集合Map。

Collection接口

Collection下的方法

增:
boolean add(E e);添加一个数据到集合中

boolean addAll(Collection<? extends E> c); 将一个集合数据添加到另外一个集合中

Collection<? extends E>:元素 是E本类或者继承的E,才能添加到另外一个集合中

 		/**
         * 增:
         *   boolean add(E e);
         *   boolean addAll(Collection<? extends E> c);
         */
        Collection<Integer> collection = new ArrayList<>();
        System.out.println(collection.add(1));
        Collection<Integer> collection2 = new ArrayList<>();
        collection2.add(1);
        collection2.add(2);
        System.out.println(collection.addAll(collection2));

删:

boolean remove(Object obj);删除指定的元素

boolean removeAll(Collection<? extends E> c); 删除的是交集

void clear();清空的

		/**
         * 删:
         * 	boolean remove(Object obj);
         *     boolean removeAll(Collection<? extends E> c);
         *         [a,b,c]  [b, c, d]删除的是交集
         *     void clear();
         */
        Collection<String> collection3 = new ArrayList<>();
        collection3.add("孙悟空");
        collection3.add("孙悟空1");
        collection3.add("孙悟空2");
        Collection<String> collection4 = new ArrayList<>();
        collection4.add("孙悟空");
        collection4.add("孙悟空1");
        collection4.add("孙悟空2");
        collection4.add("孙悟空3");
        System.out.println(collection3.remove("孙悟空"));
        System.out.println(collection4.removeAll(collection3));
        collection4.clear();
        System.out.println(collection4);

查:
int size(); 查看集合中元素的个数

Object[] toArray(); 将集合转为Object类型数组

boolean contains(Object obj); 集合中是否包含这个元素 如果包含返回true

boolean containsAll(Collection<? extends E> c);一个集合是否另外一个集合 子集合

boolean isEmpty(); 判断集合是否为空

 		/**
         *  查:
          * 	int size();
          *     Object[] toArray();
         */
        Collection<String> collection5 = new ArrayList<>();
        collection5.add("孙悟空");
        collection5.add("孙悟空1");
        collection5.add("孙悟空2");
        collection5.add("孙悟空3");
        System.out.println(collection5.size());
        for (Object c: collection5.toArray()) {
            System.out.println(c);
        }
  		/*
         *
         * 	boolean contains(Object obj);
         *     boolean containsAll(Collection<? extends E> c);
         *     boolean isEmpty();
         *
         */
        Collection<String> collection6 = new ArrayList<>();
        collection6.add("孙悟空");
        collection6.add("孙悟空1");
        collection6.add("孙悟空2");
        collection6.add("孙悟空3");
        Collection<String> collection7 = new ArrayList<>();
        collection7.add("孙悟空3");
        System.out.println(collection6.contains("孙悟空"));
        System.out.println(collection6.containsAll(collection7));
        System.out.println(collection7.isEmpty());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值