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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 307117758 中级黑马   /  2015-10-23 23:44  /  332 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Collection的功能
        (1)Collection的功能(自己补齐中文意思)
                1、添加功能(掌握)
                        boolean add(Object obj):向集合中添加一个元素。
                        boolean addAll(Collection c):向集合中添加一个集合的元素。
                2、删除功能(掌握)
                        void clear():删除集合中所有的元素。
                        boolean remove(Object obj):删除集合中指定的元素。
                        boolean removeAll(Collection c):删除集合中指定的集合元素。 只要有数据删除,则返回true。
                3、判断功能(掌握)
                        boolean isEmpty():判断集合是否为空。
                        boolean contains(Object obj):判断集合是否包含指定的元素。
                        boolean containsAll(Collection c):判断集合是否包含指定的集合中的元素。只有所有数据包含了,才返回true。
                4、遍历功能(掌握)
                        Iterator iterator():迭代器。
                                hasNext():判断是否还有元素
                                next():获取下一个元素
                5、长度功能(掌握)
                        int size():获得集合的元素个数。
                6、交集功能
                        boolean retainAll(Collection c):判断集合中是否有相同的元素。
                                如果有两个集合A和B。A对B做交集。
                                A集合保存的是交集元素,B集合不发生改变。
                                返回值表示的是A集合是否发生过改变。
                7、转换功能
                        Object[] toArray():把集合变成数组。
        (2)迭代器的使用
                1、使用步骤
                        1、通过集合对象获取迭代器对象。
                        2、通过迭代器对象判断。
                        3、通过迭代器对象获取。
                2、迭代器原理
                        由于多种集合的数据结构不同,所以存储方式不同,所以,取出方式也不同。
                        这个时候,我们就把判断和获取功能定义在了一个接口中,将来,遍历哪种
                        集合的时候,只要该集合内部实现这个接口即可。
                3、迭代器源码
                        public interface Iterator
                        {
                                public abstract boolean hasNext();
                                public abstract Object next();
                        }

                        public interface Collection
                        {
                                public abstract Iterator iterator();
                        }

                        public interface List extends Collection
                        {
                                ...
                        }
                       
                        public class ArrayList implements List
                        {
                                public Iterator iterator()
                                {
                                        return new Itr();
                                }

                                private class Itr implements Iterator
                                {
                                        public boolean hasNext(){...}
                                        public Object next(){...}
                                }
                        }
        (3)集合的常见使用步骤:
                1、创建集合对象
                2、创建元素对象
                3、把元素添加到集合中
                4、遍历集合
                        1、通过集合对象获取迭代器对象。
                        2、通过迭代器对象判断。
                        3、通过迭代器对象获取。
        (4)Collection存储字符串和自定义对象并遍历。
                1、存储字符串
                        Collection c = new ArrayList();

                        //String s = "hello";
                        //c.add(s);
                        c.add("hello");
                        c.add("world");
                        c.add("java");

                        Iterator it = c.iterator();
                        while(it.hasNext())
                        {
                                String s = (String)it.next();
                                System.out.println(s);
                        }


                2、存储自定义对象(自己补齐)
                            Collection c=new ArrayList();
                            Student s1=new Student("林青霞",26);           
                            c.add("s1");

                            Iterator it=c.iterator();
                            while(it.hasNext())
                              {
                                String s=(String)it.next();
                                System.out.println(s);
                              }


0 个回复

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