【问题标题】:How to convert a `List` to `Set` using literals如何使用文字将`List`转换为`Set`
【发布时间】:2021-02-16 14:37:46
【问题描述】:
final _set = [1, 1, 2, 3, 4].toSet();

除了effective dart 建议prefer_collection_literals

它看起来真的像 javac# 而不是飞镖(无意冒犯)

有人知道吗

如何将List 转换为Set 使用文字

(建议添加// ignore: prefer_collection_literals 不是答案)

【问题讨论】:

标签: flutter dart collections lint literals


【解决方案1】:

你可以这样做:

main() {
    final list = [1, 1, 2, 3, 4];
    final _set = {...list};
    print('set: $_set'); // set: {1, 2, 3, 4}
} 

【讨论】:

    【解决方案2】:

    你可以写和final _set = {1, 1, 2, 3, 4};一样的代码。

    当你写 {key: value, key: value} 时,这是一个 Map 文字,但如果你只是写 {value, value, ...} ,它就变成了 Set 文字。

    【讨论】:

    • 谢谢,但您正在创建一个集合,而不是将列表转换为集合
    • @FrancescoIapicca 如果您解释了为什么您需要费心使用 List 文字而不是直接使用 Set 文字,这将有所帮助。你的问题没有多大意义;要么你从一个文字初始化一个Set,在这种情况下你应该直接使用一个Set,或者你从某个运行时List初始化一个Set,在这种情况下Set.of()List.toSet() 也可以。
    • 在我的具体情况下,在Assert(...) 中,我需要检查一个列表是否没有重复,我很难看到这个用例与我已经接受stackoverflow.com/a/66226798/9836706 的答案有什么关系
    猜你喜欢
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 2022-01-05
    • 1970-01-01
    • 2012-08-12
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多