vector能够保证顺序,map能快速查找,但有什么办法既能保证顺序又能快速查找呢?
不知道问的是不是Java,Java里面有linkedHashMap,就是在hash表的基础上维护一个链表,插入hashMap的同时插入到链表中,应该可以满足你的需求,其他语言的话应该也可以自己实现类似的。。
std::map 的 key 就是排序的
你说的东西.叫做"索引".
其实我说的,有序,意思是按照vector的插入顺序,但vector里面找某一项就要一个个遍历查找,所以需要一个容器,既能按照插入顺序排序,又能快速查找,比如根据名称找到某一项
两者结合在一起用嘛。map<key, index> 数组<index, value>
各取所长
20 14 9 14 6
17 11 8 3 22
0 4 13 20 16
11 14 8 5 0后面会是什么数
这种需求场景是很常见的,比如一个大型表格,对指定列排序,又要保持数据更新
LinkedHashMap是很不错的.
HashMap保证能快速查找,LinkedList能保证很快的插入和删除
我自己实现了个类似的东西,模板,性能很高,20w条记录不在话下