Fork me on GitHub

Collection

1     /**
2      * - **集合**:集合是java中提供的一种容器,可以用来存储多个数据。
3      *
4      * 集合和数组既然都是容器,它们有啥区别呢?
5      *
6      * - 数组的长度是固定的。集合的长度是可变的。
7      * - 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。
8      * */

 

        Collection<String> coll = new ArrayList<>();
        coll.add("小李广");
        coll.add("扫地僧");
        coll.add("石破天");

        System.out.println(coll);
        System.out.println(coll.contains("扫地僧"));
        coll.remove("小李广");
        System.out.println(coll);
        System.out.println(coll.size());

        Object[] objects = coll.toArray();
        for (int i = 0; i <objects.length ; i++) {
            System.out.println(objects[i]);
        }
        coll.clear();
        System.out.println(coll);
        System.out.println(coll.isEmpty());

 

 1     /**
 2      * - **迭代**:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
 3      *
 4      * Iterator接口的常用方法如下:
 5      *
 6      * - `public E next()`:返回迭代的下一个元素。
 7      * - `public boolean hasNext()`:如果仍有元素可以迭代,则返回 true。
 8      * */
 9 
10     public static void main(String[] args) {
11         /**
12          * Iterator迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素,为了让初学者能更好地理解迭代器的工作原理,接下来通过一个图例来演示Iterator对象迭代元素的过程:
13          *
14          * ![](img\迭代器原理图.bmp)
15          *
16          * 在调用Iterator的next方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,
17          * 当第一次调用迭代器的next方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回,
18          * 当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回,依此类推,直到hasNext方法返回false,表示到达了集合的末尾,终止对元素的遍历。
19          * */
20         Collection<String> coll = new ArrayList<>();
21 
22         coll.add("传唤");
23         coll.add("网线");
24 
25         Iterator<String> it = coll.iterator();
26         while (it.hasNext()){
27             String next = it.next();
28             System.out.println(next);
29         }
30     }

 

    /**
     * 增强for循环(也称for each循环)是**JDK1.5**以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
     *
     * 格式:
     *
     * ```java
     * for(元素的数据类型  变量 : Collection集合or数组){
     *       //写操作代码
     * }
     * ```
     *
     * 它用于遍历Collection和数组。通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作。
     * */

    public static void main(String[] args) {
        int[] array = {13, 23, 32, 3214, 4213};
        for(int a : array){
            System.out.println(a);
        }
    }

 

posted @ 2019-08-14 17:07  未凉残念浮生若梦  阅读(177)  评论(0编辑  收藏  举报