我的感觉是Map中的HashMap和HashTable在存储元素的形式上就满足你的要求呀。HashMap和HashTable中有个成员,这个成员是个数组,这个数组的每个元素分别指向一个单向链表。当添加key-value键值对时,首先根据key的hashCode()算出key的哈希值,再根据这个哈希值算出其对应到那个数组成员的索引,确定在那个数组成员中的位置,最后用key的值和这个数组元素指向的单向链表的每个节点的key-value键值对的key值比较,若key值已经存在则用新的value取代旧的value,否则将新的key-value键值对放到这个单向链表的表头位置。那么形式上key-value键值对的key的哈希值就相当于主键,不同的key-value键值对就类似于多个字段。 |