個人博客點這里
起步
在編程語言中,有這么一種數據類型,我們經常會使用到,他就是類似于json的鍵值對類型
那么今天我們就對比一下,在各大編程語言中的key value類型的特點
main
python
key value 叫做字典
dict類型
聲明
字典操作
以鍵值對方式存在的無序數據的組合就是字典
方式1:變量 = {}方式2:變量 = dict()
詳細信息可以參考這里
Java
在Java里面,具有key-value類型的數據為
hashmap類型
HashMap<K,V>:存儲數據采用的哈希表結構,元素的存取順序不能保證一致。由于要保證鍵的唯一、不重復,需要重寫鍵的hashCode()方法、equals()方法。
詳細信息可以參考這里
php
Array 數組 :
PHP 中的數組實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。此類型在很多方面做了優化,因此可以把它當成真正的數組,或列表(向量),散列表(是映射的一種實現),字典,集合,棧,隊列以及更多可能性。由于數組元素的值也可以是另一個數組,樹形結構和多維數組也是允許的。
<?php
$array = array("foo" => "bar","bar" => "foo",
);// 自 PHP 5.4 起
$array = ["foo" => "bar","bar" => "foo",
];
?>
詳細信息可以參考這里
golang
map是Go中的內置類型,它將一個值與一個鍵關聯起來。可以使用相應的鍵檢索值。
Map 是一種無序的鍵值對的集合
Map 最重要的一點是通過 key 來快速檢索數據,key 類似于索引,指向數據的值
Map 是一種集合,所以我們可以像迭代數組和切片那樣迭代它。不過,Map 是無序的,我們無法決定它的返回順序,這是因為 Map 是使用 hash 表來實現的,也是引用類型
詳細信息可以參考這里
JavaScript
Map 對象保存鍵值對,并且能夠記住鍵的原始插入順序。任何值(對象或者原始值) 都可以作為一個鍵或一個值。 Map 在涉及頻繁增刪鍵值對的場景下會有些性能優勢。
鍵的相等(Key equality)
鍵的比較是基于 sameValueZero 算法:
NaN 是與 NaN 相等的(雖然 NaN !== NaN),剩下所有其它的值是根據 === 運算符的結果判斷是否相等。
在目前的ECMAScript規范中,-0和+0被認為是相等的,盡管這在早期的草案中并不是這樣。有關詳細信息,請參閱瀏覽器兼容性 表中的“Value equality for -0 and 0”。
詳細信息可以參考這里