?
?关于java.util.Collection接口中常用的方法。
?? 1.Collection中能存放什么元素?
?????? 没有使用“泛型”之前,Collection中可以存储Object的所有子类。
使用了泛型之后,Collection中只能存储某个具体的类型。集合中不能直接
存储基本数据类型,也不能存java对象,只是存储java对象的内存地址。
? 2.Collection中的常用方法
?????? boolean add(Object e)????????????????? 向集合中添加元素
?????? int size()???????????????????????????????????????? 获取集合中元素的个数
?????? void clear()??????????????????????????????????? 清空集合
?????? boolean contains(Object o)????????? 判断当前集合中是否包含元素o,包含返回true,不包含返回false
?????? boolean remove(Object o)?????????? 删除集合中的某个元素
?????? boolean isEmpty()??????????????????????? 判断该集合中元素的个数是否为0
?????? Object[] toArray()???????????????????????? 调用这个方法可以把集合转换成数组
??????
?public class CollectionTest01{
???? public static void main(String[] args){
??????? //创建一个集合对象
?????? //Collection c = new Collection();? //接口是抽象的,无法实例化
????? //多态
????? Collection c = new ArrayList();
????? //测试Collection接口中的常用方法
????? c.add(1200);? //自动装箱(java5的新特性),实际上是放进去了一个对象的内存地址
????? c.add(3.14);?? //自动装箱
????? c.add(new Object());
????? c.add(new Student());
????? c.add(true);?? //自动装箱
?????
????? //获取集合中元素的个数
???? System.out.println("集合中元素个数是:"+c.size());?? //5
???? //清空集合
???? System.out.println("集合中元素个数是: "+c.size());?? //0
????
???? //再向集合中添加元素
???? c.add("hellow");?????? //"hellow"对象的内存地址放到了集合当中
???? c.add("world");???????
???? c.add("浩克");
???? c.add("绿巨人");
???? c.add(1);
???? //判断集合中是否包含"绿巨人"
???? boolean flag = c.contains("绿巨人");
???? System.out.println(flag);? //true
???? boolean flag2 = c.contains("绿巨人2");
???? System.out.println(flag2); //false
???? System.out.println(c.contains(1));? //true
???
??? System.out.println("集合中元素个数是:"+c.size());? //5
??? //删除集合中某个元素
??? c.remove(1);
??? System.out.println("集合中元素个数是:"+c.size());? //4
??? //判断集合是否为空(集合中是否存在元素)
??? System.out.println(c.isEmpty());??? //false
??? //清空
??? c.clear();
??? System.out.println(c.isEmpty());???? //true true表示集合中没有元素了
??? c.add("abc");
??? c.add("def");
??? c.add(100);
??? c.add("helloworld");
??? c.add(new Student());
??? //转换成数组(了解,使用不多)
??? Object[] objs = c.toArray();
??? for(int i=0;i<objs.length;i++){
??????? //遍历数组
?????? Object o = objs[i];
?????? System.out.println(o);
??? }
?? }
}
?class Student{
?}
深入Collection集合的contains方法:
? boolean contains(Object o)
???? 判断集合中是否包含某个对象o
???? 如果包含返回true,如果不包含返回false
?contains方法是用来判断集合中是否包含某个元素的方法,那么它在底层是怎么判断集合中是否包含某个元素的呢?
?? 调用了equals方法进行比对。
?? equals方法返回true,就表示包含这个元素。
?public class CollectionTest04{
?? public static void main(String[] args){
????? //创建集合对象
???? Collection c = new ArrayList();
???? //向集合中存储元素
???? String s1 = new String("abc");
???? c.add(s1);? //放进去一个"abc"
???
???? String s2 = new String("def");
???? c.add(s2);
????
???? //集合中元素个数
??? System.out.println("元素个数是:+c.size()); //2
?????
??? //新建的对象String
??? String x = new String("abc");
??? //c集合中是否包含x?结果是true还是false?
?? System.out.println(c.contains(x)); //判断集合中是否存在"abc" true
? }
}