首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >请说一下你对集合体系的了解?

请说一下你对集合体系的了解?

提问于 2021-10-01 01:47:14
回答 1关注 0查看 152

回答 1

Lansonli

提问者

修改于 2021-10-03 05:23:51

单列集合: 顶层接口是Collection.

List体系:

特点:

有序, 可重复, 元素有索引.

常用子类:

ArrayList: 底层数据结构采用数组实现, 所以查询(修改)较快, 增删相对较慢

LinkedList: 底层数据结构采用链表实现, 所以查询(修改)相对较慢, 增删较块

Set体系:

特点:

无序, 唯一, 元素有索引.

常用子类:

HashSet: 底层采用哈希表(数组 + 链表)的方式实现, 增删改查相对都快,它底层依赖HashMap

双列集合: 顶层接口是Map.

特点:

键具有唯一性, 值可以重复, 数据结构只针对于键有效

常用子类:

HashMap: 底层采用哈希表(数组 + 链表)的方式实现, 增删改查相对都快

和开发者交流更多问题细节吧,去 写回答
相关文章
请说一下你是如何理解互联网思维的?
一、互联网思维,是人对全生态重新审视的思考方式,就是在(移动)互联网+、大数据、云计算等科技不断发展的背景下,对市场、用户、产品、企业价值链乃至对整个商业生态进行重新审视的思考方式。
葆宁
2022/01/11
8530
Java集合类之Collection接口,集合的“爸爸”接口了解一下?
Hello!没技术的大灰狼又来了,今天和小伙伴分享一个Java项目开发中比较常用的存储数据的方法----集合。
灰小猿
2020/09/23
3840
Java集合类之Collection接口,集合的“爸爸”接口了解一下?
大数据开发体系,进来了解一下?
掌握Linux必备知识,熟悉Python的使用与爬虫程序的编写,搭建Hadoop(CDH)集群,为大数据技术学习打好基础。
王知无-import_bigdata
2019/09/19
6650
大数据开发体系,进来了解一下?
你真的了解Java集合吗?
Java集合是我认为在Java基础中最最重要的知识点了,Java集合是必须掌握的。我在面试的时候,只要是面到Java,那一定是少不了Java集合。
故里
2020/11/25
6290
你真的了解Java集合吗?
请说明一下final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
剑走天涯
2019/09/02
4300
请说明一下线程池有什么优势?
第三:提高线程的可管理性,线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。
剑走天涯
2019/09/12
4200
请说明Java集合类框架的基本接口有哪些?
集合类接口指定了一组叫做元素的对象。集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序。有的集合类允许重复的键,有些不允许。
剑走天涯
2019/09/10
8020
需要接口管理的你了解一下?
在日常的开发模式里,前端需要服务端提供的接口实现动态数据展示和交互时,服务端完成接口开发后会提供一个接口文档给到前端按照文档规范再进行开发。这样模式下往往会出现两种情况:一种是往前端开发的进度往与服务端开发的进度不会完全同步,这就存在了一方等待另一方的情况,这多少会影响整体项目开发进度;另一种就是当前端对接不同的服务端人员所开发的接口,如果没有了统一的接口文档规范,每个人输出的接口文档都不尽相同,在后期对项目接口的更新和维护会是很大的时间成本。
闻人的技术博客
2019/09/19
1.1K0
需要接口管理的你了解一下?
你真的了解 Web 缓存体系吗?
很高兴认识大家,之前做过很多分享,今天这次终于讲到正题了。因为之前一直讲自动化运维,其实做这么多年运维,自动化运维没干多少年。这几年很多公司各方面机器数量多了,规模大了才开始去做自动化运维。
前端黑板报
2018/07/24
1.3K0
你真的了解 Web 缓存体系吗?
简述一下你了解的设计模式
所谓设计模式,就是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便的复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 在GoF的《Design Patterns: Elements of Reusable Object-Oriented Software》中给出了三类(创建型[对类的实例化过程的抽象化]、结构型[描述如何将类或对象结合在一起形成更大的结构]、行为型[对在不同的对象之间划分责任和算法的抽象化])共23种设计模式,包括:Abstract Factory(抽象工厂模式),Builder(建造者模式),Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式);Facade(门面模式),Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式),Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式);Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式),Iterator(迭代子模式),Mediator(调停者模式),Memento(备忘录模式),Observer(观察者模式),State(状态模式),Strategy(策略模式),Template Method(模板方法模式), Chain Of Responsibility(责任链模式)。 面试被问到关于设计模式的知识时,可以拣最常用的作答,例如:
唐怀瑟
2018/08/30
6160
你对排序算法了解多少
说起排序算法,可能大家会脱口而出:冒泡排序,选择排序。没错,这是我们最熟悉的两种排序算法,其实,排序算法远不止这些。而且,你之前写的冒泡、选择排序真的是最优的吗?
贪挽懒月
2020/09/16
3000
你锁不了解的增强 Map 集合
在 Jdk 8 中 Map 接口提供了一些新的便利的方法。因为在本文中我所提到的所有 Map 方法都是以默认值方法的方式实现的,所以现有的 Map 接口的实现可以直接拥有这些在默认值方法中定义的默认行为,而不需要新增一行代码。本文涵盖的 Jdk 8 中引进的 Map 方法有:getOrDefault(Object, V),putIfAbsent(K, V),remove(Object, Object),replace(K, V),andreplace(K, V, V)。
BUG弄潮儿
2021/08/13
2590
你是真的了解多态吗?谈谈你对多态的了解以及应用
现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。
Java学习
2018/07/25
4520
你是真的了解多态吗?谈谈你对多态的了解以及应用
聊一下你对MySQL索引的理解?
1.mysql使用B+Tree数据索引 2.B+tree在新增数据时会根据索引指定列对旧B+tree做调整 3.从物理存储结构来说,B+Tree和B-Tree都是以页的大小来划分节点大小,但是由于B+tree中中间节点不存储数据,所以在相同节点时B+tree可以存放更多key,提高查找效率 4.影响mysql查找效率的主要还是磁盘的IO次数, 大部分还是磁头到磁道花费的时间 5、myisam下存储引擎下索引和数据存储是分离的,innodb下索引和数据存储是一起的 6、innodb特性如果id不是自增序列的话,那么每次新增数据,B+tre会对索引进行重新调整浪费性能,所以尽量id使用自动序列作为索引
用户9131103
2023/07/17
1340
【Java 基础篇】深入了解Java中的键值对集合:Map集合详解
Map是Java中常用的数据结构之一,用于存储键值对(Key-Value)映射。它提供了快速的查找和访问能力,是编程中常用的工具之一。本文将深入介绍Java中的Map集合,包括常见的Map实现类、基本操作、使用示例以及一些重要的注意事项。
繁依Fanyi
2023/10/12
4.1K0
【Java 基础篇】深入了解Java中的键值对集合:Map集合详解
你可能需要了解下Laravel集合
集合通过 Illuminate\Support\Collection 进行实例,Laravel的内核大部分的参数传递都用到了集合,但这并不代表集合就是好的。Laravel作为快捷并优雅的开发框架,是有他一定的道理所在的,并非因他的路由、DB、监听器等等。当你需要处理一组数组时,你可能就需要它帮助你快捷的解决实际问题。
CrazyCodes
2019/11/07
1.6K0
你可能需要了解下Laravel集合
你对常量池够了解吗
是class文件中的资源仓库。我们的 class 文件,用十六进制编辑器( notepad++ 安装 Hex-editor )打开,可以发现它第二行的内容是这样的:
贪挽懒月
2021/11/29
3050
你对常量池够了解吗
Java 开发, volatile 你必须了解一下
上一篇文章说了 CAS 原理,其中说到了 Atomic* 类,他们实现原子操作的机制就依靠了 volatile 的内存可见性特性。如果还不了解 CAS 和 Atomic*,建议看一下我们说的 CAS 自旋锁是什么 并发的三个特性 首先说我们如果要使用 volatile 了,那肯定是在多线程并发的环境下。我们常说的并发场景下有三个重要特性:原子性、可见性、有序性。只有在满足了这三个特性,才能保证并发程序正确执行,否则就会出现各种各样的问题。 原子性,上篇文章说到的 CAS 和 Atomic* 类,可以保证简单
古时的风筝
2018/05/28
8621
你对JavaScript的Array对象了解有多少?
工作中,数组应用非常广泛,菜单、列表、banner图等等都会应用到数组,所以必须对数组的属性和方法非常熟练才OK,下面一起来了解一下。
Javanx
2019/09/04
5530
测一测你对「Activity」的了解
在日常的移动端测试沟通过程中,我们经常会听到开发说到一些平台开发术语,本次小编将对Android四大组件之一的Activity进行些简单的介绍和测试点总结。
用户5521279
2020/08/11
9090
测一测你对「Activity」的了解

相似问题

etcd 客户端的 watch请求必须发给leader吗?

11.4K

突然掉电导致etcd 无法启动。没有一个节点可以正常启动。没有etcd 备份,如何恢复一下?

092

etcd集群扩容为五个节点,关掉etcd leader创建不了集群,该怎么解决?

0427

gunicorn requires Python '>=3.4' ?

1572

CentOS下配置的Flask,启动项目之后访问哪个地址?

5582
相关问答用户
擅长3个领域
擅长4个领域
腾讯云TDP | 高级后端开发工程师擅长3个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档