java list 去重_list和set区别你知道吗?Testfan打卡学测开0114

a195be801b9d05b5455f27915ce9071a.png

本期技术分享讲师: 极光老师

题目内容

list set区别,ArrayList,LinkedList 区别

本期语音讲解

本期文字解析        这个面试常见题,考察大家的数据结构知识,在Java中 list 和set都是接口,他们常见实现类有ArrayList 和HashSet, 到底有什么区别呢,举例测试说明

3b58d7fa9b9c774442ca91248702462f.png

输出结果

5b87dda13c2ae872dc92605c8b27a13c.png

      可以看出 list set最大区别就是 set可以自动去重 只要回答出set可以去重,list不去重就正确。
       ArrayList, LinkedList 有什么区别呢?

7e3d37b17a003b4f624c2c593774e0b6.png

为了同样一个List会有两个不同实现,主要原因是数据结构不一样
ArrayList 是连续数组结构

fbf020c33b60b9eaf040a13cefa2cbdd.png

访问速度比ArrayList是一块连续空间,相对会比LinkedList快
    不过删除时候,如果连续空间中一块删掉,会带来其他快内存移动内存,而LinkedList不需要移动内存,只需要修改链表指向,在删除方面LinkedList性能更好,如果有大量删除,添加操作可以选 LinkedList,读取频繁的选择ArrayList。这是他们最大区别
    最后说明下,为什么面试上老喜欢问这些问题,这实际考察大家计算机基本数据结构掌握。

ba83b7c4beb0fa61e9c17e298b2fae40.png

推荐阅读:

3分钟学测开20190102期

3分钟学测开20190103期

3分钟学测开20190104期

3分钟学测开20190107期

3分钟学测开20190108期

3分钟学测开20190109期

3分钟学测开20190110期

3分钟学测开20190111期

8287f34835882b2ba198013117cdaaef.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值