0 0

list和map在普通情况下哪个取数据快?0

list  {key:'asdf',attr:234},{key:'asdf',attr:234}
map   'asdf':{attr:234},'asdf':{attr:234}
有一堆这些数据
在取某一项的时候 那个快点?

我看map在取的时候实际也是在遍历


固定顺序下应该是list快点?
也就是 arraylist 和 linkedhashmap对比

 
2014年11月24日 17:35

2个答案 按时间排序 按投票排序

0 0

采纳的答案

数据结构里都会充分说明:
"链表"对于查询效率差,对于插入和删除效率高.
"哈希表"对于查询效率高

但是数据结构其实可以是符合结构
也就是"链表"中的对象也可以同时支持被“哈希表”引用

建议你不要死记硬背,还是活学活用的好。

2014年11月24日 18:40
0 0

如果你读过他们的源码,理解他们的理论实现,你会发现map在大多数情况下是比较快的

2014年11月25日 11:41

相关推荐

    Ajax 实例(list,map)

    在实际开发中,我们常常会遇到需要发送Ajax请求获取或提交List和Map类型的数据。List和Map是Java中两种常用的数据结构,List用于存储有序的元素集合,而Map则用于存储键值对。 ### 1. Ajax 请求基础 #### 1.1 ...

    List Set Map以及子类的比较 .docx

    Collection 集合框架是 Java 语言中最基础的集合类库,它提供了一些常用的数据结构和算法,使得开发者可以更加方便地进行数据存储和处理。Collection 集合框架的顶级接口是 Collection,下面有三个主要的子接口:...

    Python map遍历.docx

    3. **提高代码可读性和简洁性**:通过使用`map`函数,可以编写出更加清晰和Pythonic的代码,特别是在需要对序列中的每个元素执行相同操作时。 综上所述,`map`函数是Python编程中处理序列数据的一个非常有用的工具...

    vector list map 遍历删除制定元素 防止迭代器失效的实例

    在C++编程中,容器如`vector`, `list`, 和`map`是常用的数据结构,它们提供了方便的数据存储和操作。然而,在遍历这些容器并删除元素时,如果不小心,可能会导致迭代器失效,从而引发运行时错误。下面将详细解释如何...

    JSON与JAVA数据的转换

    而在Java编程语言中,处理JSON数据通常涉及到将JSON字符串或对象转换为Java对象(如`Map`、`List`、自定义Java Bean类等),以及反之亦然的过程。 #### JSON与Java数据类型的对应关系 1. **JSON Object <-> Java ...

    191C++类和数据结构

    在C++中,标准模板库(STL)提供了对多种数据结构的内置支持,如vector、list、deque、set、map等。STL不仅提供了数据结构,还包括算法(如排序、查找)和迭代器,大大简化了编程工作。 **类与数据结构的关系**: ...

    SCAU数据结构-STL详解-20210609.pptx

    它们各自有不同的特点和应用场景,例如vector适合动态数组的需求,deque提供两端的快速插入和删除,而list则通过双向链表实现,支持高效地在任何位置插入和删除元素。map和set是关联容器,基于红黑树实现,前者用于...

    数据结构:使用C++标准模板库(STL)

    C++标准模板库中常见的容器包括顺序容器如vector(向量)、deque(双端队列)、list(链表)和forward_list(单向链表),以及关联容器如set(集合)、multiset(多重集合)、map(映射)和multimap(多重映射)。...

    读取json文件定时抓取新数据.

    我们可以创建两个不同的CSS类,分别应用于重要和普通数据的元素,通过改变背景色、文字颜色等属性实现视觉区分。 例如,在CSS中定义: ```css .important { background-color: red; color: white; } .normal { ...

    Android Google Map 总结

    使用GoogleMap对象的setMapType方法可选择显示不同类型的地图,如普通地图、卫星图、地形图等。通过setMyLocationEnabled(true)开启用户位置追踪,显示蓝点。 5. **添加Marker** Marker是地图上的图标,可以表示...

    java数据结构.pdf

    Java集合框架为处理和操作集合提供了一套标准的接口和实现,包括Collection、Set、List和Map接口。Collection接口允许重复元素,Set不允许重复且有自己的排序机制,List则保持插入顺序,Map则存储键值对,每个键都是...

    数据结构和Java集合框架 英文版 第三版

    - **链表(Linked List)**:由节点组成,每个节点包含数据和指向下一个节点的引用。 - 单向链表(Singly Linked List) - 双向链表(Doubly Linked List) - 循环链表(Circular Linked List) - **栈(Stack)**:后进...

    标准库容器小结.pdf

    无序关联容器,如unordered_map和unordered_multimap,基于哈希表实现,使得查找、插入和删除操作的平均复杂度为O(1),但在最坏情况下可能退化到O(N)。 unordered_set和unordered_multiset是无序关联容器,允许重复...

    C++学委作业管理系统源码数据结构大作业

    此外,可能会使用STL(Standard Template Library)中的容器(如vector、list、set和map)和算法,以提高代码效率和可读性。 文件“CJS-master”很可能包含了该项目的源代码文件,这些文件可能按照模块或者功能进行...

    数据结构与算法思维导图1

    5. **集合**:如`list`、`map`、`set`,在Java或Python中,`set`和`treeSet`是无序且不包含重复元素的,而`hashSet`在大多数情况下提供了O(1)的查找速度,但可能会退化为O(N)。`map`和`list`则提供了键值对和有序...

    spring 数据绑定心得,适合新手

    课程中还会涵盖一些高级主题,比如集合类型的绑定,例如List或Map,这允许你处理一个表单中有多个相同类型输入的情况。还有自定义转换器和格式化器的实现,这些可以让你控制数据的转换过程,满足特定的业务需求。 ...

    MFC,菜单,工具栏,listctrl

    向ListCtrl中添加数据可以使用`InsertItem`和`SetItemText`方法。 **四、右键菜单(Context Menu)** 右键菜单是当用户在控件上点击右键时出现的菜单,它提供了额外的功能选项。在MFC中,可以通过`CMenu`类创建和...

    Hadoop-Spark大数据处理技巧.pdf

    在讨论"大数据处理技巧"时,我们必须首先理解一些关键概念,例如Hadoop和Spark。Hadoop是一个开源的框架,它允许存储和处理大数据。它以可靠、可扩展和经济的方式,运行在普通的硬件上。Hadoop的子项目MapReduce是一...

    Android ListView数据分类显示

    例如,`List<List<String>>` 或 `Map, List<String>>`,键值对中的键表示类别名,值为该类别的数据列表。 2. **自定义适配器**:默认的ArrayAdapter并不支持分类显示,因此我们需要创建一个自定义的ListAdapter。这...

    序列构成的数组1

    但map和filter组合在某些情况下可能运行速度更快。 生成器表达式与列表推导类似,但使用圆括号,遵循迭代器协议,逐个产生元素,从而节省内存。元组除了作为不可变列表外,还可以用作无字段名的记录。元组拆包是...

Global site tag (gtag.js) - Google Analytics