集合collection

来源:互联网 发布:java utf 8编码 编辑:程序博客网 时间:2024/06/07 18:28

public class Demo1_Array {

/** * * A:案例演示        * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。    *             Student[] arr = new Student[5];                 //存储学生对象            arr[0] = new Student("张三", 23);            arr[1] = new Student("李四", 24);            arr[2] = new Student("王五", 25);            arr[3] = new Student("赵六", 26);            arr[4] = new Student("马哥", 20);            for (int i = 0; i < arr.length; i++) {                System.out.println(arr[i]);            }    * B:画图演示        * 把学生数组的案例画图讲解        * 数组和集合存储引用数据类型,存的都是地址值 */public static void main(String[] args) {    //int[] arr = new int[5];                   //创建基本数据类型数组    Student[] arr = new Student[5];             //创建引用数据类型数组    arr[0] = new Student("张三", 23);             //创建一个学生对象,存储在数组的第一个位置    arr[1] = new Student("李四", 24);             //创建一个学生对象,存储在数组的第二个位置    arr[2] = new Student("王五", 25);             //创建一个学生对象,存储在数组的第三个位置    for(int i = 0; i < arr.length; i++) {        System.out.println(arr[i]);    }}

}

public class Demo2_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编译器认为该程序存在安全隐患            温馨提示:这不是编译失败,所以先不用理会,等学了泛型你就知道了    add方法如果是List集合一直都返回true,因为List集合中是可以存储重复元素的    如果是Set集合当存储重复元素的时候,就会返回false    ArrayList的父类的父类重写toString方法,所以在打印对象的引用的时候,输出的结果不是Object类中toString的结果 */public static void main(String[] args) {    //demo1();    Collection c = new ArrayList();         c.add("a");    c.add("b");    c.add("c");    c.add("d");    //c.remove("b");                                        //删除指定元素    //c.clear();                                            //清空集合    //System.out.println(c.contains("b"));                  //判断是否包含    //System.out.println(c.isEmpty());    System.out.println(c.size());                           //获取元素的个数    System.out.println(c);}public static void demo1() {    Collection c = new ArrayList();                     //父类引用指向子类对象    boolean b1 = c.add("abc");    boolean b2 = c.add(true);                           //自动装箱new Boolean(true);    boolean b3 = c.add(100);    boolean b4 = c.add(new Student("张三",23));               boolean b5 = c.add("abc");    System.out.println(b1);    System.out.println(b2);    System.out.println(b3);    System.out.println(b4);    System.out.println(b5);    System.out.println(c.toString());}

}

public class Demo3_Collection {

/** * * A:集合的遍历        * 其实就是依次获取集合中的每一个元素。    * B:案例演示        * 把集合转成数组,可以实现集合的遍历        * toArray() */public static void main(String[] args) {    //demo1();    Collection c = new ArrayList();    c.add(new Student("张三", 23));               //Object obj = new Student("张三",23);    c.add(new Student("李四", 24));    c.add(new Student("王五", 25));    c.add(new Student("赵六", 26));    Object[] arr = c.toArray();                 //将集合转换成数组    for (int i = 0; i < arr.length; i++) {        //System.out.println(arr[i]);        Student s = (Student)arr[i];            //向下转型        System.out.println(s.getName() + "..." + s.getAge());    }}public static void demo1() {    Collection c = new ArrayList();    c.add("a");    c.add("b");    c.add("c");    c.add("d");    Object[] arr = c.toArray();                     //将集合转换成数组    for(int i = 0; i < arr.length; i++) {        System.out.println(arr[i]);    }}

}

public class Demo4_CollectionAll {

/** * * A:案例演示    *             带All的功能演示            boolean addAll(Collection c)            boolean removeAll(Collection c)            boolean containsAll(Collection c)            boolean retainAll(Collection c) */public static void main(String[] args) {    //demo1();    //demo2();    //demo3();    Collection c1 = new ArrayList();    c1.add("a");    c1.add("b");    c1.add("c");    c1.add("d");    Collection c2 = new ArrayList();    c2.add("a");    c2.add("b");    c2.add("c");    c2.add("d");    c2.add("e");    c2.add("f");    //取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false    boolean b = c1.retainAll(c2);                   //取交集    System.out.println(b);    System.out.println(c1);}public static void demo3() {    Collection c1 = new ArrayList();    c1.add("a");    c1.add("b");    c1.add("c");    c1.add("d");    Collection c2 = new ArrayList();    c2.add("a");    c2.add("b");    c2.add("z");    boolean b = c1.containsAll(c2);             //判断调用的集合是否包含传入的集合    System.out.println(b);}public static void demo2() {    Collection c1 = new ArrayList();    c1.add("a");    c1.add("b");    c1.add("c");    c1.add("d");    Collection c2 = new ArrayList();    c2.add("a");    c2.add("b");    c2.add("z");    boolean b = c1.removeAll(c2);                   //删除的是交集    System.out.println(b);    System.out.println(c1);}public static void demo1() {    Collection c1 = new ArrayList();    c1.add("a");    c1.add("b");    c1.add("c");    c1.add("d");    Collection c2 = new ArrayList();            //alt + shift + r改名    c2.add("a");    c2.add("b");    c2.add("c");    c2.add("d");    //c1.addAll(c2);                            //将c2中的每一个元素添加到c1中    c1.add(c2);                                 //将c2看成一个对象添加到c1中    System.out.println(c1);}

}

public class Demo5_Iterator {

/** * 迭代 * * A:迭代器概述 * 集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历)  */public static void main(String[] args) {    //demo1();    Collection c = new ArrayList();    c.add(new Student("张三", 23));               //Object obj = new Student("张三",23);    c.add(new Student("李四", 24));    c.add(new Student("王五", 25));    c.add(new Student("赵六", 26));    //获取迭代器    Iterator it = c.iterator();    while(it.hasNext()) {        //System.out.println(it.next());        Student s = (Student)it.next();         //向下转型        System.out.println(s.getName() + "..." + s.getAge());    }}public static void demo1() {    Collection c = new ArrayList();    c.add("a");    c.add("b");    c.add("c");    c.add("d");    //对集合中的元素迭代(遍历)    Iterator it = c.iterator();                 //获取迭代器    /*boolean b1 = it.hasNext();                    //判断集合中是否有元素,有就返回true    Object obj1 = it.next();    System.out.println(b1);    System.out.println(obj1);    boolean b2 = it.hasNext();                  //判断集合中是否有元素,有就返回true    Object obj2 = it.next();    System.out.println(b2);    System.out.println(obj2);*/    while(it.hasNext()) {        System.out.println(it.next());    }}

}