gpt4 book ai didi

rust - 如何按插入顺序对 map 进行排序?

转载 作者:行者123 更新时间:2023-11-29 07:46:47 32 4
gpt4 key购买 nike

我已经尝试为此使用 HashMapBTreeMap 但都没有用:

use std::collections::{BTreeMap, HashMap};

fn main() {
let mut btreemap = BTreeMap::new();
println!("BTreeMap");
btreemap.insert("Z", "1");
btreemap.insert("T", "2");
btreemap.insert("R", "3");
btreemap.insert("P", "4");
btreemap.insert("K", "5");
btreemap.insert("W", "6");
btreemap.insert("G", "7");
btreemap.insert("C", "8");
btreemap.insert("A", "9");
btreemap.insert("D", "0");
for (key, value) in btreemap {
println!("{} {}", key, value);
}
println!("Hash Map");
let mut hashmap = HashMap::new();
hashmap.insert("Z", "1");
hashmap.insert("T", "2");
hashmap.insert("R", "3");
hashmap.insert("P", "4");
hashmap.insert("K", "5");
hashmap.insert("W", "6");
hashmap.insert("G", "7");
hashmap.insert("C", "8");
hashmap.insert("A", "9");
hashmap.insert("D", "0");
for (key, value) in hashmap {
println!("{} {}", key, value);
}
}

当我通过 Rust playground 运行它时,我得到的结果没有按插入顺序排序; BTreeMap 似乎是按字母顺序排列的(打印 A C D G K P R T W Z 以及数字)而 HashMap 似乎是随机排列的(打印 Z A C D R P T G WK )。

我已经查看了 Rust 标准库文档,但没有看到任何其他映射。

最佳答案

默认集合不跟踪插入顺序。如果您希望按此排序,您将需要找到一个确实跟踪它的不同集合,或者您自己跟踪它。

关于rust - 如何按插入顺序对 map 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243100/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com