如何在Dart中为Set集合的每个元素添加前缀?
为Dart Set集合元素统一添加前缀
针对你给出的Set集合,有几种简洁的方法为每个元素添加指定前缀:
方法一:使用map转换(推荐)
通过map方法遍历集合元素并拼接前缀,最后将结果转回Set类型,这是最简洁且符合函数式编程风格的方式:
Set<String> ids = <String>{'1','2','3','4','5'}; // 生成带前缀的新Set Set<String> prefixedIds = ids.map((id) => 'ios_$id').toSet();
说明:
map((id) => 'ios_$id')会遍历原Set的每个元素,对每个id执行字符串插值拼接前缀操作,返回一个包含处理后元素的Iterable。- 调用
toSet()将Iterable转换回Set类型,保持集合的特性。
方法二:修改原集合(若需复用原变量)
如果需要直接修改原集合(注意原集合需为可变类型),可以先清空原集合,再添加处理后的元素:
Set<String> ids = <String>{'1','2','3','4','5'}; // 先将原集合的处理结果暂存,再替换原集合内容 ids ..clear() ..addAll(ids.map((id) => 'ios_$id'));
或者直接重新赋值原变量:
Set<String> ids = <String>{'1','2','3','4','5'}; ids = ids.map((id) => 'ios_$id').toSet();
补充:字符串拼接方式
除了字符串插值'ios_$id',也可以用传统的字符串拼接:
ids.map((id) => 'ios_' + id).toSet();
两种方式效果完全一致,根据个人习惯选择即可。
内容的提问来源于stack exchange,提问作者timyc
相关产品推荐
相关产品推荐

