Separate data type and abstract date type.
We should know which ADT will make our life easier and which implementation will make our implementation faster.
We should notice that there are three fundamental structures: map, set and list(queue, deque, stack, etc.).
And things we know as tree, hash table, array and so on is how it implement in different way or with different constraint.
也就是说,所谓抽象数据结构,只是规定了数据之间的关系、可以进行的操作,但是具体底层如何实现,可以在这个规则下,使用不同的组织形式,树、数列等等实现。
Data structure - Wikipedia
Syntax:
Map<String, Integer> m = new HashMap<>();That is: abstract data type equals data type.
Examples
Deque
Stack
List
Set
Map(Associative Array, Symbol tables and dictionaries)(映射)
The difference between set and map is that when you give a key, set will return boolean and map will return some other values.
ArrayMap

Hierarchies
More details:

Search
Some Way Representing Set and Map
Disjoint Set
Search Trees
QuadTree
KD Tree
Hashing
Heaps for PQ
ADTs and its Implementation Data Structure
也就是,这些抽象数据结构,是一种带有规则的特定数据组织形式,不止一种实现方式,而每种实现方式,也是一种数据组织方式,为了实现其规则,底层代码实现也不尽相同。
