在python中
s = set()
s.add(5)
s.add(3)
s.add(1)
s.add(2)
s.add(4)
print(s)
输出结果为[1,2,3,4,5],说明跟插入顺序无关。
d = {}
d[5] = 5
d[3] = 3
d[1] = 1
d[2] = 2
d[4] = 4
print(d)
输出结果为{5: 5, 3: 3, 1: 1, 2: 2, 4: 4},说明跟插入顺序有关。
另外我在浏览器使用javascript测试
const s = new Set()
s.add(5)
s.add(3)
s.add(1)
s.add(2)
s.add(4)
console.log(s)
输出结果为 Set(5) {5, 3, 1, 2, 4},是跟插入顺序有关的。
const m = new Map()
m.set(5, 5)
m.set(3, 3)
m.set(1, 1)
m.set(2, 2)
m.set(4, 4)
console.log(m)
输出结果为 Map(5) {5 => 5, 3 => 3, 1 => 1, 2 => 2, 4 => 4},是跟插入顺序有关的。
在java中,有TreeMap和HashMap。TreeMap是有序的,这个有序不是指key的有序吗?
为什么在python和javascript中是插入的顺序呢?并且python在set是无序的,javascript的set是有序的。