集合 - Collection<E> Java笔记总结

存储多个同一类型的数据的容器 — 大小不固定
- 泛型 - 在集合中的作用是用于表示元素类型。- 由于泛型的限制,集合中只能存储对象。
String[] arr; arr的数据类型是数组,元素类型是String
Collection c; c的数据类型是集合,元素类型是String
5,7, 2 — Collection
Collection

Collection的重要方法的使用:
Collection<String> c = new ArrayList<String>();
        // 添加元素
        c.add("gwe");
        c.add("hred");
        c.add("hrd");
        c.add("ater");
        // 将集合转化为数组
        // String[] os = (String[]) c.toArray();
        // Object[] os = c.toArray();
        // for (Object o : os) {
        // System.out.println(((String) o).length());
        // }
        String[] strs = c.toArray(new String[0]);
        for (String str : strs) {
            System.out.println(str.length());
        }
        // 获取集合中的元素个数
        // System.out.println(c.size());
        // 清空集合
        // c.clear();
        // 判断集合是否为空
        // System.out.println(c.isEmpty());
        // 判断元素是否存在
        // System.out.println(c.contains("hrd"));
        // System.out.println(c.contains("aft"));
        // 从集合中移除指定的元素
        // c.remove("gwe");
        // 如果元素不存在,会直接跳过
        // c.remove("age");

List - 列表

1.概述
有序(保证元素存入顺序)的集合—存在了下标,因此
够通过下标来操作列表中的元素。

ArrayList - 顺序表
底层是依靠的数组来存储的数据。默认初始容量是10,每次扩容是在原来的基础上增加一半,基于右移。

LinkedList - 链表
基于节点(Node)来实现的。利用节点来存储数据以及维系链表之间每一个节点的关系。内存空间不连续。增删操作相对简单,查询操作相对复杂。是一个线程不安全的列表

考虑:如果在增删和查询的次数相差不多的情况下,使用ArrayList还是LinkedList? — LinkedList

Vector - 向量
最早的列表,依靠数组来存储数据,初始默认是10,每次扩容默认增加一倍。是一个线程安全的列表

Stack - 栈
继承了Vector。遵循后进先出/先进后出的原则。最先放入栈中的元素 — 栈底元素,最后放入栈中的元素 — 栈顶元素。将元素放入栈中 — 入栈/压栈,将元素从栈中取出 — 出栈/弹栈

猜你喜欢

转载自blog.csdn.net/Gavin_W_/article/details/82694462
今日推荐