C++和JAVA的容器对照

因为工作原因,需要经常在C++和JAVA之间切换,为了提高切换的效率,整理了一下c++和java在容器上的对照以便查找;

说明:c++版本为c++ 11,java版本参考java se8,如果版本不同可能有差异;


c++
JAVA
目的
array
[ ]
固定大小的数组
vector
ArrayList
可变长度的数组

Vector
可变长度数组,支持同步操作,效率比ArrayList略低
list
LinkedList
链表,便于增删
forward_list

单链表,注意不提供size()操作
deque
ArrayDeque
双端队列
stack
Stack
queue
Queue
队列
priority_queue
PriorityQueue
支持优先级的队列
set
TreeSet
集合,数据有序,通过二叉搜索树实现
multiset

集合,允许重复元素
unordered_set
HashSet
hash组织的set
unordered_multiset

hash组织的multiset

LinkedHashSet
按插入有序,支持hash查找
map
TreeMap
key-value映射,按照key有序
multimap

允许重复key的map
unordered_map
HashMap
hash组织的map
unordered_multimap

hash组织的multimap

LinkedHashMap
按插入有序,支持hash查找

HashTable
类似HashMap,支持同步操作
bitset
BitSet
位操作




你可能感兴趣的:(c++,java,容器对照)