zoukankan      html  css  js  c++  java
  • 集合的复习

    先来放一张集合体系的框架图:

     其中Iterator 是集合专用的迭代器:

    迭代器:用来遍历容器中的元素的工具。

    Collection是所有单列集合的超类(接口);

    单列集合:就是集合中一个空间存储一个元素。

    我们常用Collection的子类为Set 和List。

    List集合我们常用ArrayList子类和LinkedList子类来创建对象。

    那么ArrayList和LinkedList的主要区别呢?

    ArrayList的底层是数组,而LinkedList的底层是链表。

    数组有索引,相对来说查询速度快一点,但是数组的连续结构,使得数组的增删速度没有链表快,所以ArrayList集合主要用于数据的查询,LinkedList主要用于数据的增删。

    Set集合我们常用HashSet子类和TreeSet子类来创建对象。

    那么List集合和Set集合的主要区别是什么呢?

    就是List集合里存储规则是有序可重复的

    而Set集合的存储规则是无序不重复。

    简单描述一下:

    有序是指:插入与存储顺序相同

    而无序是指:集合会实现Comparable接口来对插入的元素进行排序,插入顺序与存储顺序不相同。

    可重复:是指集合中存储的元素可以重复

    不可重复:集合中存储的元素不可重复,那么不可重复它的实现原理呢?

    Set集合  从存储元素,先根据哈希值判断该位置有无元素,在调用equals方法来判断是否重复,从而决定是否插入元素。对于基本类型的数据,是底层已经重写了hashCode方法和equals方法 ,而对于我们自定义的对象,就需要我们自己重写hashCode方法和equals方法。

  • 相关阅读:
    SpringBoot全局日志管理(AOP)
    SpringBoot集成Shiro
    MybatisPlus使用介绍
    SpringBoot集成MybatisPlus
    SpringBoot集成多数据源
    SpringBoot事务管理
    ETL 工具和 BI 工具
    oracle中行转列操作
    Oracle基本数据类型总结
    LINUX中lrzsz软件的使用
  • 原文地址:https://www.cnblogs.com/ywzbky/p/10700499.html
Copyright © 2011-2022 走看看