Java—集合Collection(一)

在这里插入图片描述



存放单个数据内容,声明一个变量,
存放多个类型相同的数据内容,声明一个一维数组,
存放多个类型不同的数据内容,则创建一个对象,
存放多个类型相同的对象数据,创建一个对象数组,
多个类型不同的对象数据时,则准备一个集合。

集合框架顶层是:Collection和Map
Collection集合存取是:单个元素
Map集合中存取是:单对元素

一、Collection集合

是List、Queue以及Set接口的父类接口

1、方法add、addAll

boolean add(E e):集合内添加对象;返回True或者False
boolean addAll(Collection<? extends E> c):将集合c所有元素添加到集合内;返回True或者False

2、声明集合

package com.company.collection;

import com.company.collection.Persion;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();   //创建集合对象
        System.out.println("集合c1:"+c1);  //集合c1:[]

        //添加String
        c1.add(new String("hello"));
        System.out.println("集合c1:"+c1);   //集合c1:[hello]
        c1.add("collection");
        System.out.println("集合c1:"+c1);    //集合c1:[hello, collection]
        //添加Interger
        c1.add(Integer.valueOf(77));
        c1.add(88);
        System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]

        //添加对象
        c1.add(new Persion("kobe",18));
        System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]

        Collection c2 = new ArrayList();
        c2.add(66);
        c2.add("hello java");
        System.out.println(c2);  //[66, hello java]

        //addAll
        boolean b=c1.addAll(c2);
        System.out.println("添加元素是否成功"+b);  //添加元素是否成功true
        System.out.println("集合c1:"+c1);    //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]

        boolean d=c1.add(c2);
        System.out.println("添加元素是否成功"+d);  //添加元素是否成功true
        System.out.println("集合c1:"+c1);      //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
    }
}

特别注意1:添加对象时需要创建对象类

添加对象时需要创建对象类,并定义构造方法,不然输出的结果是对象地址
在这里插入图片描述
代码展示如下:

package com.company.collection;
import com.company.collection.Persion1;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo1 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        System.out.println("集合c1:"+c1); //集合c1:[]

        //String
        c1.add(new String("hello"));
        System.out.println("集合c1:"+c1);   //集合c1:[hello]
        c1.add("collection");
        System.out.println("集合c1:"+c1);
        //Interger
        c1.add(Integer.valueOf(77));
        c1.add(88);
        System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]

        //添加对象
        c1.add(new Persion1("kobe",18));
        System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]
    }
}

创建对象类

package com.company.collection;

import java.util.Objects;

public class Persion1 {
    private String name;
    private int age;

    public Persion1(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

输出结果:

集合c1:[]
集合c1:[hello]
集合c1:[hello, collection]
集合c1:[hello, collection, 77, 88]
集合c1:[hello, collection, 77, 88, com.company.collection.Persion1@1a407d53]

3、总结

集合中添加单个元素或者单个对象,使用add();
集合中添加多个元素,使用addAll();

4、判断方法

boolean contains(Object o):判断集合是否包含指定对象
boolean containsAll(Collection<?> c):判断集合是否包含指定集合内的所有对象

package com.company.collection;

import com.company.collection.Persion;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        System.out.println("集合c1:"+c1); //集合c1:[]

        //String
        c1.add(new String("hello"));
        System.out.println("集合c1:"+c1);   //集合c1:[hello]
        c1.add("collection");
        System.out.println("集合c1:"+c1);
        //Interger
        c1.add(Integer.valueOf(77));
        c1.add(88);
        System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]

        //添加对象
        c1.add(new Persion("kobe",18));
        System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]

        Collection c2 = new ArrayList();
        c2.add(66);
        c2.add("hello java");
        System.out.println(c2);  //[66, hello java]

        //addAll
        boolean b=c1.addAll(c2);
        System.out.println("添加元素是否成功"+b);  //添加元素是否成功true
        System.out.println("集合c1:"+c1);    //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]

        boolean d=c1.add(c2);
        System.out.println("添加元素是否成功"+d);  //添加元素是否成功true
        System.out.println("集合c1:"+c1);      //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
   
   
        //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
        boolean b1 = c1.contains("hello");
        System.out.println("是否包含:"+b1);   //是否包含:true

        boolean b2 = c1.contains("hello1");
        System.out.println("是否包含:"+b2);  //是否包含:false

        boolean b3 = c1.contains(88);
        System.out.println("是否包含:"+b3);  //是否包含:true
        boolean b4 = c1.contains(99);
        System.out.println("是否包含:"+b4);  //是否包含:false

        boolean b5 = c1.contains(new Persion("kobe",18));
        System.out.println("是否包含:"+b5);  //是否包含:true

        Collection c3=new ArrayList();
        c3.add(7);
        System.out.println("c1:"+c1);   //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
        System.out.println("c3:"+c3);    //c3:[7]

        boolean b21 = c1.containsAll(c3);
        System.out.println("b21:"+b21);     //c3:false

        c3.add(88);
        System.out.println("c3:"+c3);       //c3:[7, 88]
        boolean b22=c1.containsAll(c3);
        System.out.println("b22:"+b22);      //b22:false

        Collection c4=new ArrayList();
        c4.add(88);
        c4.add(66);
        System.out.println("c4:"+c4);       //c4:[88, 66]
        boolean b23=c1.containsAll(c4);
        System.out.println("b23:"+b23);      //b23:true

        boolean b24=c1.contains(c4);
        System.out.println("b24:"+b24);        //b24:false

        Collection c5=new ArrayList();
        c5.add(88);
        c5.add("good");
        System.out.println("c5:"+c5);       //c5:[88, good]
        boolean add1=c1.add(c5);
        System.out.println("c1:"+c1);          //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]
        System.out.println("c1-add-c5:"+add1);   //c1-add-c5:true

    }
}

4.1、总结

Integer、String对应的java里面就是给重写equals方法,
自定义的类没有重写equals方法。

比较的是集合对象使用contains
比较的是集合的每个元素containsAll

5、删除

boolean remove(Object o):从集合中删除对象
boolean removeAll(Collection<?> c):从集合中删除c集合里的所有对象

6、总结

add(Object):添加的是集合对象
contains(Object):比较的是集合的对象
remove(Object):删除的是集合对象
addAll(collection):添加的是集合的每个元素
containsAll(collection):比较的是集合的每个对象
removeAll(collection):删除集合的每个元素

7、集合的其他方法

clear():清空集合
size():集合的对象个数
isEmpty():判断是否为空
equals(Object o):判断集合是否相等

8、所有代码演练

package com.company.collection;

import com.company.collection.Persion;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        System.out.println("集合c1:"+c1); //集合c1:[]

        //String
        c1.add(new String("hello"));
        System.out.println("集合c1:"+c1);   //集合c1:[hello]
        c1.add("collection");
        System.out.println("集合c1:"+c1);
        //Interger
        c1.add(Integer.valueOf(77));
        c1.add(88);
        System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]

        //添加对象
        c1.add(new Persion("kobe",18));
        System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]

        Collection c2 = new ArrayList();
        c2.add(66);
        c2.add("hello java");
        System.out.println(c2);  //[66, hello java]

        //addAll
        boolean b=c1.addAll(c2);
        System.out.println("添加元素是否成功"+b);  //添加元素是否成功true
        System.out.println("集合c1:"+c1);    //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]

        boolean d=c1.add(c2);
        System.out.println("添加元素是否成功"+d);  //添加元素是否成功true
        System.out.println("集合c1:"+c1);      //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
   
   
        //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
        boolean b1 = c1.contains("hello");
        System.out.println("是否包含:"+b1);   //是否包含:true

        boolean b2 = c1.contains("hello1");
        System.out.println("是否包含:"+b2);  //是否包含:false

        boolean b3 = c1.contains(88);
        System.out.println("是否包含:"+b3);  //是否包含:true
        boolean b4 = c1.contains(99);
        System.out.println("是否包含:"+b4);  //是否包含:false

        boolean b5 = c1.contains(new Persion("kobe",18));
        System.out.println("是否包含:"+b5);  //是否包含:true

        Collection c3=new ArrayList();
        c3.add(7);
        System.out.println("c1:"+c1);   //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]
        System.out.println("c3:"+c3);    //c3:[7]

        boolean b21 = c1.containsAll(c3);
        System.out.println("b21:"+b21);     //c3:false

        c3.add(88);
        System.out.println("c3:"+c3);       //c3:[7, 88]
        boolean b22=c1.containsAll(c3);
        System.out.println("b22:"+b22);      //b22:false

        Collection c4=new ArrayList();
        c4.add(88);
        c4.add(66);
        System.out.println("c4:"+c4);       //c4:[88, 66]
        boolean b23=c1.containsAll(c4);
        System.out.println("b23:"+b23);      //b23:true

        boolean b24=c1.contains(c4);
        System.out.println("b24:"+b24);        //b24:false

        Collection c5=new ArrayList();
        c5.add(88);
        c5.add("good");
        System.out.println("c5:"+c5);       //c5:[88, good]
        boolean add1=c1.add(c5);
        System.out.println("c1:"+c1);          //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]
        System.out.println("c1-add-c5:"+add1);   //c1-add-c5:true


        System.out.println("c1集合:"+c1);  //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]
        //remove删除存在的元素对象
        boolean remove=c1.remove(66);
        //删除不存在的元素对象
        System.out.println("c1-remove,"+remove);  //c1-remove,true

        boolean remove1=c1.remove(89);
        System.out.println("c1-remove,"+remove1);  //c1-remove,false
        System.out.println("c1集合:"+c1);  //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [66, hello java], [88, good]]

        //remove 集合对象
        c1.remove(c2);
        System.out.println("c1集合:"+c1);  //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [88, good]]

        System.out.println("-------------------------------------");
        Collection collection=new ArrayList();
        collection.add(new Persion("kobe",18));
        System.out.println("collection"+collection);

//        remove=c1.remove(new Persion("kobe",18));
//        System.out.println("c1-remove:"+remove);
//        System.out.println("c1集合:"+c1);

        System.out.println("------------------removeAll-------------------");
        System.out.println("c1"+c1);     //c1[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [88, good]]
//        boolean cc1=c1.removeAll(collection);
//        System.out.println("c1-removeAll:"+cc1);
//        System.out.println("c1集合:"+c1);

        collection.add(29);
        System.out.println("collection,"+collection);  //collection,[Persion{name='kobe', age=18}, 29]

        boolean cc1=c1.removeAll(collection);
        System.out.println("c1-removeAll:"+cc1);   //c1-removeAll:true  只要有一个元素被remove则为true
        System.out.println("c1集合:"+c1);   //c1集合:[hello, collection, 77, 88, hello java, [88, good]]



        Collection collection1=new ArrayList();
        collection1.add("yyy");
        b3=c1.removeAll(collection1);

        System.out.println("b3-remove:"+b3);   //b3-remove:false

        System.out.println("集合的长度:"+c1.size());  //集合的长度:6

        System.out.println(0==c1.size() ? "是一个空集合" : "集合不为空");  //集合不为空
        System.out.println(c1.isEmpty() ? "是一个空集合" : "集合不为空");  //集合不为空

        // equals
        Collection co1 = new ArrayList();
        co1.add(1);
        co1.add("test");
        Collection co2 = new ArrayList();
        co2.add(1);
        co2.add("test");
        System.out.println("co1:"+co1);     //[1, test]
        System.out.println("co2:"+co2);     //[1, test]
        boolean bb2 = co1.equals(co2);
        System.out.println(bb2);            //true

        //集合转换为数组
        Object[] objects = co1.toArray();
        // 打印数组中的所有元素
        System.out.println("数组中的元素有:" + Arrays.toString(objects)); //[1, test]

        // 实现数组类型到集合类型的转换
        Collection objects1 = Arrays.asList(objects);
        System.out.println("集合中的元素有:" + objects1);//[1, test]
    }
}


在这里插入图片描述

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码敲到头发茂密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值