Cheug's Blog

当前位置:网站首页 / JAVA / 正文

Collection集合及遍历

2019-03-26 / JAVA / 977 次围观 / 0 次吐槽 /

集合的继承体系

            Collection:接口

                   --List:接口

                         --ArrayList【数组实现】

                 --LinkedList 【链表实现】

                 --Vector 【数组实现】

                   --Set:接口

                         --HashSet 【哈希】

                 --TreeSet 【二叉树】


Collection的方法

                boolean add(E e) 添加元素

                boolean remove(Object o) 删除元素

                void clear() 清除元素

                boolean contains(Object o) 包含某一个元素

                                        //contains 内部调用equals方法

                boolean isEmpty() 判断集合是否为空

                int size() 获取集合的大小


                boolean addAll(Collection c) 把集合2添加到集合1

                boolean removeAll(Collection c) 把集合2中所有元素从集合1中删除

                boolean containsAll(Collection c) 判断集合2中所有的元素在集合1中是否都有

                boolean retainAll(Collection c) 取两个集合的交集


                toArray方法:把集合的元素 添加到 指定数组中

                    Collection<String> col = new ArrayList<String>();

                                    col.add("Gosling");

                                    col.add("gyf");

                    //声明一个字符串数组

                                String[] strs = new String[2];

                    //把集合里的元素 存在 指定的数组中

                                col.toArray(strs);

                    //遍历集合

                                for(String str : strs){

                                         System.out.println(str);

                                     }


集合遍历

            第一种:把集合转成数组(集合有个方法toArray),再进行遍历

            第二种:使用集合的迭代器(集合有个方法iterator)进行遍历

            第三种:增强for循环 底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写,是JDK1.5之后出现的新特性


三种迭代能否删除元素

            普通for循环,可以删除,但是索引要(--减减 )

            迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常

            增强for循环不能删除


Powered By Cheug's Blog

Copyright Cheug Rights Reserved.