Collection中常见的方法使用

集合(容器)---Collection笔记

        1.表示一组对象,它是集中,收集的意思

        2.java.util

        3.interface Collection<E>---泛型接口

        4.extends Iterable<E>------父接口Iterable,说明Collection的继承类都可以进行迭代

        5.常见的子类:List<E>,Set<E>,Deque<E>

        6.存储一组不唯一,无序的对象

 

常见方法:

package com.collectiontest.sample;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

/**

 * 测试Collection中常见的方法

 * @author zhuaisha98kbaoni

 *

 */

public class Sample {

       

       public static void main(String[] args) {

             

             Collection<String> collection = new ArrayList<>(); //因为Collection为接口,不能实例化

             

             /*

              * 像容器中加入值

              */

             boolean isInset = collection.add("你是一个笨蛋");

             if (isInset) {

                    System.out.println("插入成功!");

             }else {

                    System.out.println("插入不成功!");

             }

             collection.add("你没骗我?");

             System.out.println(collection);

             

             /*

              * 像容器中加入另一个容器的值

              */

             Collection<String> collection2 = new ArrayList<>();

             collection2.add("你是一只猪");

             collection2.add("我才不是猪呢");

             collection.addAll(collection2);

             System.out.println("容器collection中的值:" + collection);

             

             /*

              * 容器中是否包含某个值

              */

             String name ="你是一只猪";

             boolean include = collection.contains(name);

             if (include) {

                    System.out.println("容器collection中包含" +" " + name);

             }else {

                    System.out.println("容器中不包含   " + name);

             }

             

             /*

              * 容器中是否包含另一个集合中的所有值

              */

             boolean includeAll = collection.containsAll(collection2);

             if (includeAll) {

                    System.out.println("容器collection中包含另一个容器中的所有值");

             }else {

                    System.out.println("容器中collection中不包含另一个容器中的所有值");

             }

             

             /*

              * 比较指定的对象与此集合进行比较以获得相等性

              * 下面的collection,collection3,collection4的哈希地址一样

              * collection,collection3当它们中的值一样时,表明它们是同一个对象,因为在Collection集合中规定

              * 重写equals方法时,也要重写hashCode方法

              * equals方法返回的是:the hash code value for this collection

              */

             boolean equivalence = collection.equals(name);

             System.out.println(equivalence);   //答案是false,表示不是说某个值是否存在于容器中

             

             Collection<String> collection3 = new ArrayList<>();

             collection3.add("你是一个笨蛋");

             collection3.add("你没骗我?");

             collection3.add("你是一只猪");

             collection3.add("我才不是猪呢");

             

             boolean equivalence2 = collection.equals(collection3);

             System.out.println(equivalence2);

             System.out.println("容器collection的哈希地址:" + collection.hashCode());

             System.out.println("容器collection3的哈希地址:" + collection3.hashCode());

             

             Collection<String> collection4 = collection;

             System.out.println("容器collection4的哈希地址:" + collection4.hashCode());

             

             /*

              * 判断集合是否为空

              */

             boolean equibalence3 = collection.isEmpty();

             System.out.println("容器collection中是否为空:" + equibalence3);

             

             /*

              * 迭代集合中的元素

              */

             Iterator<String> iterator = collection.iterator();

             while (iterator.hasNext()) {

                    System.out.printf("%s\t",iterator.next());     

             }

             System.out.println();

             

             /*

              * 从集合章删除指定元素的单个实例(如果存在)(可选操作)

              */

             boolean equibalance4 = collection.remove("你是一只猪");

             System.out.println("删除容器中的指定元素是否成功:" + equibalance4);

             System.out.println(collection);

             

             /*

              * 删除指定集合中包含的所有此集合的元素(可选操作)

              * 下面操作的结果为:

              * 在容器collection中删除包含的容器collection2是否成功:true

              *[你是一个笨蛋, 你没骗我?]

              *在容器collection中删除包含的容器collection2是否成功:false

              *[你是一个笨蛋, 你没骗我?]

              *说明不管删没删除成功,collection都会把包含了collection2中的元素删除掉

              */

             boolean equibalance5 = collection.removeAll(collection2);

             System.out.println("在容器collection中删除包含的容器collection2是否成功:" + equibalance5);

             System.out.println(collection);

             

             collection2.add("hello world");

             boolean equibalance6 = collection.removeAll(collection2);

             System.out.println("在容器collection中删除包含的容器collection2是否成功:" + equibalance6);

             System.out.println(collection);

             

             /*

              * 集合中元素的个数

              */

             int count = collection.size();

             System.out.println("容器collection中元素的个数:" + count);

             

             /*

              *返回一个包含此集合中所有元素的数组

              */

             Object[] objects = collection.toArray();

             System.out.println("数组objects中的元素:");

             for (Object object : objects) {

                    if(object instanceof String){

                           String string = (String)object;

                           System.out.printf("%s\t" , string);

                    }

             }

             System.out.println();

             /*
              * 容器中是否允许重复元素
             */
            boolean equivalance7 = collection.add("你是一个笨蛋");
            System.out.println("容器中是否可以加入相同的元素:" + equivalance7);
            System.out.println(collection);
       

             /*

              * 清除容器collection

              */

             collection.clear();

             System.out.println("容器collection是否为空:" + collection.isEmpty());

       }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值