集合概括

在这里插入图片描述
最常见的结合有 list set map 但其实他们还是有区别的,list 和 set 都是继承 collection,但collection也是继承iterable 所以 collection的部分方法和iterable 一样 (方法有哪些可以看上图)
例如

  • remove()方法
    collection的remove(int) iterable的remove()要结合自身的next()方法(获取下一个)才可以使用,所以在改变上就可以看出区别
    -------------①collection的remove需要传值 而他的老爸iterable的remove需要配合next()使用
    -------------②(性能方面)remove方法也是有执行速度区别的 collection的方法因为是单链表结构,需要从第一个开始找值进行移除 而 iterable的移除是直接移除下一个
    -------------③(容错方面)从下面图片可以看出 因为collection的移除是循环他集合中的所有值,如何其中的前排值数量发生改变,那它被移除后面的值的下标都会-1以去弥补那个空缺,但你要移除的值要是在你先前移除的值的后面就会报错。而iterable的移除只是移除下一个所以不会报错
    人话就是 : collection在移除的过程中数据发生了改变可能报错而iterable不会可以看出

看图以解释集合的区别

  1. 右边:
    1.1. list(特点:有顺序,值可重复)
    在list的下面还有ArrayList(数组结构,动态数组)和LinkedList(链表结构)这两个,虽然他们同属于list。但还是有区别,所以作用的地方也是有差异的
    -------------①ArrayList的读出写入(get,set)的方法比LinkedList快
    -------------②LinkedList的增删改比ArrayList快
    如何证明可以看下图在这里插入图片描述
    1.2. set(特点:无序,值不可用重复)
    HashSet,TreeSet,LinkedHashSet都属于set。也有set的值不可重复的特点。但也是各有各的特点
    -------------①HashSet 速度最快,但没有明显的顺序保存数据,可以有null,但只能有一个
    在这里插入图片描述
    -------------②TreeSet 保存的结果以升序的方式对象
    在这里插入图片描述
    在这里插入图片描述
    -------------③LinkedHashSet 先进先出的规则 按保存顺序保存
    在这里插入图片描述
    在这里插入图片描述
    1.3. queue(特点:先进先出,队尾添加元素,在队头删除元素)
    队列的存储结构:队列与栈一样是一种线性结构,因此以常见的线性表如数组、链表作为底层的数据结构。在这里插入图片描述

  2. 左边:.
    2.1 Array
    Array(数组)在被定义的时候必须要指定它的大小并且要确定他的类型

    2.2 map(特点:以键值对的方式存储值。键不可重复,值可以多个 null也可以存在)
    HashMap,TreeMap,LinkedMap都属于map
    -------------①HashMap 读出速度最快,但没有保存顺序
    -------------②TreeMap 按结果的升序保存键
    -------------③LinkedMap 按结果的升序保存键,也是有较快的查询速度

list,set,map 之间的区别在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值