Rust中拼接HashMap整数键的最简方法:有序与无序场景实现
无序拼接键的实现简化
- 标准库环境下你目前的写法已经是最简方案:Rust标准库没有为迭代器原生提供字符串拼接的
join方法,必须先将键迭代器收集为Vec后再执行拼接,你给出的代码已经是该逻辑的最精简写法。 - 若允许引入第三方依赖,使用
itertoolscrate可以进一步简化为let s = my_hash_map.keys().join(",");,无需手动执行collect操作。
有序拼接的标准库单行实现
你可以借助Rust的块表达式特性,把收集、排序、拼接逻辑包裹在同一个表达式内,不需要拆分多行,也无需引入任何外部crate:
let s = { let mut keys: Vec<_> = my_hash_map.keys().collect(); keys.sort(); keys.join(",") };
如果需要自定义排序规则,替换sort()为sort_by()或sort_by_key()即可,同样可以放在该块内实现单行效果。
内容的提问来源于stack exchange,提问作者at54321
相关产品推荐
相关产品推荐

