API-集合框架(1)-介绍

需求:20个学员,用Student描述,创建Student对象。
既然对象很多先进行存储—数组

Student[] stus =new Student[20];

需求2:又来了一个新学员。
原来的容器不能用,因为数组的长度是固定的。

解决:
可以创建一个新数组,将原来的数组中的元素复制到新数组中。
这种方法过于繁琐,于是Java中提供解决问题的对象—>集合。

当数据很多,需要存储时,需要容器,而数据的个数不能确定,无法使用数组,
这时可以使用Java中另一个容器–集合

集合和数组的区别
数组的长度是固定的。
集合的长度是可变的。

数组中存储的是同一类型的元素,可以存储基本数据类型值
集合存储的都是对象,而且对象的类型可以不一致。

什么时候使用集合呢?
当对象多的时候,先进行存储。

JDK最早的1.0版本中提供得集合容器很少。
到了1.2版,为了更多的需求,出现了集合框架,有了更多的容器,完成不同的需求。
这些容器怎么区分?区别的方式:每一个容器的数据结构(即数据存储的方式)不一样。

不断的向上抽取过程中,出现体系,形成了集合框架。
最顶层:Collection接口。
学习体系:看顶层,用底层。

了解顶层Collection
一个容器:添加,删除

package collection;

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

public class CollectionDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//      Collection coll = new ArrayList();
//      collectionDemo(coll);
        Collection c1=new ArrayList();
        Collection c2=new ArrayList();

        collectionDemo2(c1, c2);
    }
//  演示Collection中带all方法
    public static void collectionDemo2(Collection c1,Collection c2){

        //1,给两个集合添加元素
        c1.add("abc1");
        c1.add("abc2");
        c1.add("abc3");

        c2.add("abc1");
        c2.add("abc5");
        c2.add("abc6");

        //添加C2所有元素到c1中。
        c1.addAll(c2);

        boolean b=c1.containsAll(c2);
        System.out.println("b="+b);

        //删除c1中所有和c2相同的元素
        c1.removeAll(c2);

        //保留了c1中所有和c2相同的元素
        c1.retainAll(c2);

        //打印
        System.out.println("c1="+c1);
    }

//      演示Collection中常见的一般方法
    public static void collectionDemo(Collection coll) {

        // 1,往集合中添加对象元素。 add(Object)
        coll.add("itcast1");
        coll.add("itcast2");
        coll.add("itcast3");

        //2,删除
        coll.remove("itcast2");

        //3,判断是否包含
        System.out.println(coll.contains("itcast1"));

        //4,清除
        coll.clear();

        //把集合打印一下
        System.out.println(coll);
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值