A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 磊子 中级黑马   /  2015-9-14 23:19  /  301 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对象数组:
        引用类型的数组存的都是地址值。

集合:
        集合和数组的区别:
                1、存储的类型不同。
                2、长度不同。
        什么时候用集合,什么时候用数组?
                元素个数固定用数组,不固定用集合。


        集合的框架图:
                单列集合:
                        顶层接口:Collection
                               
                                List体系 特点:有序(元素存取的顺序是一致的),可重复。
                                        ArrayList:底层的数据结构是数组。
                                        Vector:底层的数据结构是数组。
                                        LinkedList:底层的数据结构是链表。

                                Set体系  特点:无序,唯一。
                                        HashSet:底层的数据结构是哈希表。
                                        TreeSet:底层的数据结构是二叉树。
                       

                双列集合
                        顶层接口:Map
                                HashMap:底层的数据结构是哈希表。
                                TreeMap:底层的数据结构是二叉树。

        Collection中的方法:
                boolean add(Object obj);         添加
                boolean remove(Object obj);  移除
                boolean contains(Object obj);是否包含给定的元素
                boolean isEmpty();                判断集合是否为空
                int size();                          获取集合中元素的个数。
                void clear();                 清空集合(相当于把集合中的元素都删掉)

                了解:
                        boolean addAll(Collection c);
                        boolean removeAll(Collection c);
                        boolean containsAll(Collection c);
                        boolean retainAll(Collection c);  判断两个集合是否有交集,
                                如果调用者不改变,返回值是false,如果改变,结果是true

                集合的遍历方式:
                        1、转数组遍历。
                                public Object[] toArray();   把集合对象转成数组对象

                        2、迭代器(Iterator) 重点掌握
                                思路:
                                        1、获取迭代器对象。
                                                public Iterator iterator();     //Collection接口中的方法根据集合对象获取到迭代器对象

                                        2、判断迭代器中是否有元素。
                                                public boolean hasNext();    // Iterator接口里边的,判断迭代器中是否有元素

                                        3、有的话,就可以来获取到这个元素。
                                                public Object next();                        // Iterator接口里边的,获取集合中的元素
       
                        需求:(5-8分钟)
                                1:首先定义一个标准学生类(name,age属性)
                                2:用集合存储3个学生,然后遍历集合。打印出每个学生的name和age。
                               
                                解题思路:
                                        A:创建集合对象。
                                        B:往集合对象中添加元素。
                                                示例: c.add(new Student("张三" , 23));

                                        C:通过迭代器遍历集合。
                                                Iterator it = c.iterator();   //通过集合对象获取到迭代器对象
                                                //判断迭代器中是否有元素
                                                while(it.hasNext()){
                                                        Student s = (Student)it.next();
                                                }

评分

参与人数 1黑马币 +6 收起 理由
0819刘海东 + 6 神马都是浮云

查看全部评分

您需要登录后才可以回帖 登录 | 加入黑马