/*
*
* 1、Collection中放什么元素?
* 没有使用“泛型”之前,Collection中可以存储Object的所有子类型
* 使用“泛型”之后,Collection中只能存储某个具体的类型,集合后,学习泛型,
* 注意:集合中不能直接存储基本数据类型,也不能存java对象,只是存储java对象的内存地址
*
* 2、Collection中的常用方法:
* boolean add(E e) 向集合中添加元素
* void clear() 从这个集合中移除所有的元素(可选操作)。
* boolean contains(Object o) 返回 true如果集合包含指定元素。
* boolean isEmpty() 返回 true如果集合不包含任何元素。
* boolean remove(Object o) 从这个集合中移除指定元素的一个实例,如果它是存在的(可选操作)。
* int size() 返回此集合中的元素的数目。
* Object[] toArray() 返回包含此集合中所有元素的数组。
*
* */
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest01 {
public static void main(String[] args) {
//创建一个集合对象
//Collection c = new Collection();//接口是无法实例化的,抽象的
//多态,ArrayList实现Collection
Collection c = new ArrayList();
c.add(123);//注意:这里采用自动装箱机制,Integer i = new Integer(111); add(i),传进去的是内存地址
c.add("hello master!!");
c.add(new Object());
c.add(new Student());
c.add(12.23);
System.out.println(c.contains(123));
System.out.println(c.contains(111));
System.out.println(c.contains(new Student()));
//这个我认为应该是false的,因为你又new的一个新对象,果然如此
Student st = new Student();
c.add(st);
System.out.println(c.contains(st));
//这个就是true了,就是这样
System.out.println("---------------");
System.out.println(c.isEmpty());//false
//c.clear();
System.out.println(c.isEmpty());//true
c.remove(123);
c.remove(111);//这个会不会报错呢?方法说明是可选操作,应该是没有问题的,没有报错
System.out.println("-------------");
System.out.println(c.size());
System.out.println("-------------");
Object[] obj = c.toArray();
for (int i = 0; i < obj.length; i++) {
System.out.print(obj[i] + " ");
}
// boolean addAll(Collection<? extends E> c)
// 将指定集合中的所有元素添加到这个集合(可选操作)。
Collection d = new ArrayList();
d.addAll(c);
Object a = d.toArray();
//暂时没搞定
/*for (int i = 0; i < a.; i++) {
}*/
/* for (int i = 0; i < c.size(); i++) {
//无法直接对c集合进行输出,还得用toArray()方法转一下,之前好像有个get[i]的方法
List myList = new ArrayList();是这种类型的,List接口中有这个方法get[i]
但collection接口没有这个方法
System.out.println(c.get);
}*/
}
}
class Student{
}
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionTest02 {
public static void main(String[] args) {
Collection a = new HashSet();
a.add("qwqe");
a.add(1234);
a.add("miao");
a.add(24.23);
a.add(new Object());
Iterator it = a.iterator();
while(it.hasNext()){
Object ob = it.next();
if(ob instanceof Integer){
System.out.print("Integer 类型 :");
}else if(ob instanceof String){
System.out.print("String 类型 :");
}else if(ob instanceof Double){
System.out.print("Double 类型 :");
}else if(ob instanceof Object){
System.out.print("Object 类型 :");
}
System.out.println(ob);
}
}
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionTest03 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add(1234);
c.add("saf");
c.add(1234);
c.add(new Object());
Iterator aa = c.iterator();
while(aa.hasNext()){
System.out.println(aa.next());
}
Collection d = new HashSet();
d.add(1);
d.add(2);
d.add("miao");
d.add(3);
d.add(4);
d.add("sdfs");
d.add(1);
d.add(new Object());
d.add(new Object());
Iterator dd = d.iterator();
while(dd.hasNext()){
System.out.println(dd.next());
}
}
}