新手看Java中的集合类(零)

版权声明:随意转载 https://blog.csdn.net/bigcupwater/article/details/78206466

1. 记住三个接口

  忽略了泛型,就是”尖括号”。不关心的地方没有写出来,想了解可以查看 API 文档。需要知道接口、继承、多态
  CollectionMap 以及 Iterator,前面两个接口是用来装对象的,称为容器;Iterator 是用来迭代 Collection 里面的对象的(就是按顺序访问对象),称为迭代器。
  其中 Collection 每个单位只能装一个对象,而 Map 每个单位可以装一对对象。Iterator 可以按顺序去访问每个单位里的内容。
  三大接口

2. Collection

  Collection 可以存放一组对象,可以简单理解为“对象数组”。它衍生出了三个接口,Set、List、Queue(主要关心这三个),每个子接口又有不一样的实现类。浅绿色代表接口,浅黄色代表具体的实现类。其中常用的类已经打上勾了
  Collection接口继承关系
  Collection 定义了很多方法,其子接口有的增加了自己本身的方法(比如:List)。使用时我们需要用具体的实现类去创建容器对象装”东西“,可以用 父接口 容器名称 = new 具体实现类(); 这样的语法。基本上不使用 Collection 定义,因为有的子接口有对 Collection 接口进行扩充,所以我们一般使用第二栏的子接口去定义容器。定义完毕后直接使用接口中的方法就可以操作了,记住一定要勤看文档。

    Set strs = new EnumSet();
    Set strs1 = new TreeSet();
    Queue strs2 = new ArrayDeque();
    List strs3 = new LinkedList();
    List strs4 = new ArrayList();
    // new 后面的实现类根据不同需求更换

3. Map

  Map 的每个格子是用来装一对数据的,并且两个对象是有映射(对应)关系的,而且key 不允许重复。我们不关注 Map 衍生出来的子接口,关心的是它的实现类。浅绿色代表接口,浅黄色代表具体的实现类。其中常用的类已经打上勾了
  Map接口继承关系
  使用方式同 Collection ,也是父接口 容器名称 = new 具体实现类(); 这样的语法。

    Map strs = new HashMap();
    Map strs1 = new TreeMap();
    // new 后面的实现类根据不同需求更换

4. Iterator

  迭代器,我们用它去访问 Collection 实现类定义的容器里装的对象。先用定义好的容器产生一个迭代器的对象,然后掉用方法去遍历元素:

        List<String> strs = new ArrayList<>(); // LinkedList也可以实现
        strs.add("hello");
        strs.add("world"); // 添加元素
        strs.add("name");

        Iterator<String> it = strs.iterator(); // 返回一个iterator对象用于迭代
        // 迭代输出
        while (it.hasNext()) { // 若下一元素不为空
            String str = it.next(); // 取出放入 str
            System.out.println(str); // 输出
        }

猜你喜欢

转载自blog.csdn.net/bigcupwater/article/details/78206466