package com.fenxiangbe.collection;
import java.util.ArrayList;
import java.util.Collection;
import com.fenxiangbe.bean.Student;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo_Collection {
/**
* A:集合的由来
* 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少
* B:数组和集合的区别
* 区别1 :
* 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
* 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象
* 区别2:
* 数组长度是固定的,不能自动增长
* 集合的长度的是可变的,可以根据元素的增加而增长
* C:数组和集合什么时候用
* 1,如果元素个数是固定的推荐用数组
* 2,如果元素个数不是固定的推荐用集合
Collection集合的基本功能测试
A:案例演示
基本功能演示
boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()
* B:注意:
*
collectionXxx.java使用了未经检查或不安全的操作.
注意:要了解详细信息,请使用 -Xlint:unchecked重新编译.
java编译器认为该程序存在安全隐患
温馨提示:这不是编译失败,所以先不用理会,等学了泛型你就知道了
*/
public static void main(String[] args) {
//demo1();
Collection c = new ArrayList();
c.add("a");//添加功能,添加字符串到集合
c.add("b");//添加功能,添加字符串到集合
c.add("c");//添加功能,添加字符串到集合
c.add("d");//添加功能,添加字符串到集合
System.out.println(c);
System.out.println("=============");
c.remove("a");//删除集合中的指定元素
System.out.println(c);
System.out.println("=============");
System.out.println(c.contains("a"));//包含指定元素则返回true,a元素被上一步remove方法删除,所以返回false
System.out.println("=============");
//c.clear();//清空集合中的全部元素
System.out.println(c.isEmpty());//如果集合中不不含元素则返回true
System.out.println("=============");
System.out.println(c.size());//获得集合中的个数
}
public static void demo1() {
Collection c = new ArrayList();//父类引用指向子类对象
boolean b1 = c.add("abc");//添加一个字符串到集合
boolean b2 = c.add(true);//添加一个true到集合
boolean b3 = c.add(100);//添加一个整数到集合,自动装箱成对象
boolean b4 = c.add(new Student("张三", 23));//添加一个对象到集合
boolean b5 = c.add("abc");//添加一个字符串到集合
//返回的结果都是true
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
System.out.println(b5);
}
}