Collection集合

一、数组和集合类同是容器,有何不同?

  1. 数组虽然也可以存储对象,但长度是固定的。
  2. 集合长度是可变的。
  3. 数组中可以存储基本数据类型,集合只能存储对象类型(类类型)。

二、集合类的特点

    集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。

不使用集合写代码:用数组写,就非常的繁琐。

package MONA.demo01_集合引入;

import java.util.Arrays;

public class Demo {
    public static void main(String[] args) {

        //数组的长度不可变
        Student[] ss = new Student[3];
        ss[0] = new Student("张三");
        ss[1] = new Student("李四");
        ss[2] = new Student("王五");

        System.out.println(Arrays.toString(ss));
        //错误ArrayIndexOutOfBoundsException
        //ss[3] = new Student("田七");
        //对数组进行扩容

        int[] arr = new int[10];
    }
}
class Student{
    String name;

    public Student(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return name ;
    }
}

 使用collection集合

collection集合常用方法

注意:因为Collection是接口,无法直接创建对象,所以演示的代码先使用的是Collection的子类对象ArrayList.

package MONA.demo02_collection;

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

/**
 * Collection
 */
public class Demo {
    public static void main(String[] args) {
        //接口多态
        Collection list = new ArrayList();
        //boolean add(E e);添加元素的方法,返回是否添加成功
        System.out.println(list.add("aaa"));
        System.out.println(list.add("bbb"));

        //void clear() 清空集合
        //list.clear();

        //boolean remove(Object o) 删除指定元素,返回是否删除成功
        System.out.println("删除元素:"+list.remove("aaa"));

        //boolean contains(Object o) 判断是否包含指定元素
        System.out.println("是否包含bbb:"+list.contains("bbb"));

        //集合是空的,但是不是null
        //boolean isEmpty() 判断集合是否为空
        System.out.println("集合是否为空:"+ list.isEmpty());

        //int size() 获取集合大小
        System.out.println("获取集合大小:"+list.size());

        System.out.println("打印集合"+list);
    }
}

集合的批量操作方法 1

package MONA.demo02_collection;

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

/**
 * 集合的批量操作方法
 */
public class Demo02 {
    public static void main(String[] args) {
        //ctrl +shifts+空格会直接出现ArrayList()
        Collection list1 = new ArrayList();
        list1.add("aaa");
        list1.add("bbb");
        list1.add("ccc");

        Collection list2 = new ArrayList();
        list2.add("111");
        list2.add("222");
        list2.add("333");

        Collection list3 = new ArrayList();
        list3.add("aaa");

        //boolean addAll()
        //将list2里面所有元素添加到list1里面
        list1.addAll(list2);

        //boolean containsAll
        //list1中是否包含list3所有的元素
        System.out.println("list1中是否包含list3所有的元素: "+list1.containsAll(list3));
        
        System.out.println("list1:"+list1);
        System.out.println("list2:"+list2);
        System.out.println("list3:"+list3);
    }
}

 集合的批量操作方法 2

package MONA.demo02_collection;

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

/**
 * 集合的批量操作方法
 */
public class Demo02 {
    public static void main(String[] args) {
        //ctrl +shifts+空格会直接出现ArrayList()
        Collection list1 = new ArrayList();
        list1.add("aaa");
        list1.add("bbb");
        list1.add("ccc");

        Collection list2 = new ArrayList();
        list2.add("111");
        list2.add("222");
        list2.add("333");
        list2.add("aaa");

        Collection list3 = new ArrayList();
        list3.add("aaa");

        //移除交集:移除list1中包含list3中的元素
        //list1.removeAll(list3);

        //只留下交集:留下list1与list2都有的元素
        //list1.retainAll(list2);

        //将集合转成数组
        Object[] os = list1.toArray();
        System.out.println(Arrays.toString(os));

        System.out.println("list1:"+list1);
        System.out.println("list2:"+list2);
        System.out.println("list3:"+list3);
    }
}

Collection添加自定义对象

package MONA.demo02_collection;

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

/**
 * 集合添加自定义的对象
 */
public class Demo03 {
    public static void main(String[] args) {

        Student s1 = new Student("李四");
        Student s2 = new Student("王五");
        Student s3 = new Student("赵六");

        Collection list = new ArrayList();
        list.add(s1);
        list.add(s2);
        list.add(s3);

        System.out.println(list);

        //集合添加Int类型?
        Collection list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        System.out.println(list1);
    }
}
class Student{
    String name;

    public Student(String name) { this.name = name; }

    @Override
    public String toString() { return name ; }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值