java集合专题_集合体系介绍_集合遍历(1)

发布于:2022-12-11 ⋅ 阅读:(203) ⋅ 点赞:(0)

集合体系图

我们为啥要学集合呢?
集合顾名思义就是存放了一组数据的集合嘛!
java集合也是如此,我们之前是通过数组的方式存取一组数据!
数组的缺点:

  • 一个数组只能保存同一类型的数据
  • 固定的初始化容量,容量不够需要进行扩列
  • 增删操作效率低,并且需要自己实现并且移动数组中的元素

集合优点:

  • 一个集合可以保存多种类型的数据
  • 可以动态添加删除元素
  • 内置了很多高效的方法供我们进行增删改查

集合框架下最主要的接口就是List,Set,Map
我们把这3个接口及其常用子类学习就学会了集合框架的使用!
难点就是自己分析这些类的方法源码,进而加深对集合框架的理解!

集合体系图
在这里插入图片描述
主要学习上述列列举到的接口和类就差不多了!

List Set 接口都是实现了Collection接口而Collection接口又实现了Iterable接口
Map接口自成一派!
为啥这样呢?
ListSet 存取的是单个元素(单列集合)
Map保存的是键值对!(双列集合)

Collections接口方法

我们看到Collection接口实现了Iterable接口!
所以Colleciton接口实现了Iterable下的所有方法!
ListSet接口又实习了Collection所有方法

在这里插入图片描述

Iterable接口方法

iterator()方法
返回一个Iterator迭代器
可以通过这个迭代器对集合进行遍历
在这里插入图片描述
这个迭代器下有3个方法!
hasNext()
next()
remove()
在这里插入图片描述
叠带器迭代的方式类似于指针遍历,通过hashNext()判断指针是否走到集合末尾,next()返回迭代器中的下一个元素!
一般用于集合遍历

public class Collection_ {
    public static void main(String[] args) {
        Collection collection = new ArrayList();
        //增加
        collection.add(1);
        collection.add("1234");
        //删除1
        collection.remove(1);
        //获取长度
        System.out.println(collection.size());
        //获取到迭代器进行遍历
        Iterator iterator = collection.iterator();
        while (iterator.hasNext()){
            Object next = iterator.next();
            System.out.print(" next:"+next);
        }

    }
}

集合遍历方式

这里的ListSet集合有3种遍历方式!

  • iterator迭代器遍历
  • 增强for循环遍历
  • 普通for循环遍历

由于我们的Collection接口没有get()方法就无法进行普通for循环遍历!

public class Collection_ {
    public static void main(String[] args) {
        Collection collection = new ArrayList();
        for (int i = 0; i < 10; i++) {
            collection.add(i);
        }
        //获取到迭代器进行遍历
        System.out.println("迭代器遍历");
        Iterator iterator = collection.iterator();
        while (iterator.hasNext()){
            Object next = iterator.next();
            System.out.print(" "+next);
        }
        System.out.println("\n增强for遍历");
        for (Object object :collection) {
            System.out.print(object+" ");
        }

    }
}

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到