在 Dart 中合并两个对象列表

2024-03-10

我有具有参数名称和参数计数器的对象。这些对象存储在列表中。我的列表中的某些项目具有重复的参数“名称”。我想删除列表内的重复项,并将该重复项的计数器添加到重复对象参数中。

class Person{ 
Person({this.name, this.counter)};
  String name;
  int counter;
}

List<Person> theList = [];

theList.add(Person(name:"Ben", counter: 2);
theList.add(Person(name:"Ben", counter: 5);

//I need a function that changes the List to show Ben with counter 7

class Person{ 
  final String name;
  int counter;
  Person({required this.name, required this.counter});
}

extension on List<Person> {
  void addPerson({required String name, required int counter}) {
    if (isNotEmpty) {
      try {
        var person = firstWhere((p) => p.name == name);
        person.counter += counter;
      } catch(e) { 
        add(Person(name:name, counter: counter));
      }
    } else {
      add(Person(name:name, counter: counter));
    }
  }
}

void main() {
  var theList = <Person>[];

  theList.addPerson(name:"Lucho", counter: 4);
  theList.addPerson(name:"Ben", counter: 2);
  theList.addPerson(name:"Ben", counter: 5);  
  
  print(theList);
  print(theList.length);
  print("${theList[1].name} - ${theList[1].counter}");  
}

Result:

[Instance of 'Person', Instance of 'Person']
2
Ben - 7
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Dart 中合并两个对象列表 的相关文章

  • Python 中的 Unix cat 函数 (cat * > merged.txt)? [复制]

    这个问题在这里已经有答案了 一旦建立了目录 有没有办法在Python中使用Unix中的cat函数或类似的函数 我想将 files 1 3 合并到 merged txt 我通常会在 Unix 中找到该目录 然后运行 cat gt merged
  • 用颤动画布在形状上切一个洞

    如何使用颤动画布在形状上 切一个洞 我有一组相当复杂的形状 看起来像现实世界的物体 该物体上有一个圆角矩形形状的孔 我真的很想从形状中减去 RRect 但我找不到任何有关如何执行此操作的信息 canvas clipRRect myRRect
  • scala 返回列表中的第一个 Some

    我有一个清单l List T1 目前我正在执行以下操作 myfun T1 gt Option T2 val x Option T2 l map myfun l flatten find gt true The myfun函数返回 None
  • 将字符串连接到python列表中所有元素的末尾

    我想知道如何将字符串连接到列表中所有元素的末尾 例如 List1 1 2 3 string a output 1a 2a 3a 在列表理解和使用中重建列表str format在两个参数上 gt gt gt string a gt gt gt
  • 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

    我有 2 个数据框 一个名为 USERS 另一个名为 EXCLUDE 他们都有一个名为 电子邮件 的字段 基本上 我想删除 USERS 中包含 EXCLUDE 中包含电子邮件的每一行 我该怎么做 您可以使用boolean indexing
  • 如何在Python中按AaB而不是ABa顺序对字符串进行排序

    我正在尝试对字符串进行排序 为 punnetsquare 制作基因型 我目前的实现是 unsorted genotype ABaB sorted genotype sorted list unsorted genotype sorted s
  • Flutter http请求上传mp3文件

    我使用这个 api 上传 mp3 文件 使用这种方法 Future
  • Javascript - deepEqual 比较

    问题 来自 Eloquent Javascript 第二版 第 4 章 练习 4 编写一个函数 deepEqual 它接受两个值 并且仅当它们相等时才返回 true 是相同的值或具有相同属性的对象 其值也是 与对 deepEqual 的递归
  • Rails/Ruby 合并两个具有相同键、不同值的哈希值

    我有两个想要合并的哈希值 它们看起来像这样 Hello gt 3 Hi gt 43 Hola gt 43 第二个哈希看起来像 Hello gt 4 Hi gt 2 Bonjour gt 2 我想合并这两个哈希数组 使结果看起来像 Hello
  • 如何在 R 中合并同名列表中的数据框?

    我有一个包含很多数据框的列表 如果它们具有相同的名称 我想合并它们 即合并所有具有相同名称 a 和 b 的数据框 像这样 a lt aaaaa b lt bbbbb c lt ccccc g lt list df1 lt data fram
  • R中的字典数据结构

    在 R 中 我有 例如 gt foo lt list a 1 b 2 c 3 如果我输入foo I get a 1 1 b 1 2 c 1 3 我怎样才能看透foo仅获取 键 列表 在这种情况下 a b c R 列表可以具有命名元素 因此可
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • 将多维数组转换为单数组(Javascript)

    我有一个对象数组 来自 XLSX js 解析器 因此其长度和内容各不相同 表示已给予项目的资助 简化后 它看起来像这样 var grants id p 1 location loc 1 type A funds 5000 id p 2 lo
  • 通过 C# SqlCommand 执行合并语句不起作用

    我正在第一次尝试使用临时表和MERGE语句通过更新 SQL 表SqlCommandC 中的对象 我正在开发的程序旨在首先将大量记录 最多 20k 导出到 Excel 电子表格中 然后 用户可以搜索并替换特定值 并根据需要更新任意多记录中的任
  • 大多数列表共有的项目

    给定一个列表列表 假设有 5 个列表 以便有一个可以使用的实数 我可以相对轻松地找到所有 5 个列表所共有的项目 请参阅使用 IEnumerable Intersect 求多个列表的交集 https stackoverflow com qu
  • 当顺序很重要时如何从元组列表中删除重复项

    我看过一些类似的答案 但我找不到针对这种情况的具体内容 我有一个元组列表 5 0 3 1 3 2 5 3 6 4 我想要的是仅当元组的第一个元素先前出现在列表中并且剩余的元组应该具有最小的第二个元素时 才从该列表中删除元组 所以输出应该是这
  • 在Python中,如何将矩阵逆时针旋转90度?

    gt gt gt def rotate matrix k List List int For example if I have m 1 2 3 2 3 3 5 4 3 rotate matrix m should give me 3 3
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • 如何选择面积最大的对象?

    我用过bwconvhull检测图像的某个部分 正如您在图像中看到的那样 有许多具有特定质心的对象 我想做的是检测面积最大的物体 左起第一个大物体 并忽略其他物体 我应该遵循哪种方法 我将非常感谢您的帮助 以下是代码 由于我仍在努力 所以写得
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s

随机推荐

  • 如何使用 libjpeg-turbo 编译 OpenCV?

    我在我的一个 C 项目中在 OS X Lion 上使用 OpenCV 2 3 1 虽然我的项目按原样运行得很好 但它很大程度上依赖于 JPEG 解码和编码 我想通过使用 libjpeg turbo 来获得加速 但我找不到与 libjpeg
  • C# 控制台应用程序中 public static void Main() 和 private static void Main() 有什么区别?

    有什么区别 public static void Main and private static void Main 在 C 控制台应用程序中 具体来说 因为它涉及Main 方法 我理解之间的区别public and private 要作为
  • 如何删除谷歌表格中带有标题的空列?

    我有下面的代码可以帮助我删除右端的所有空列 但我在工作表之间也有空列 并且所有这些空列都带有标题 我想删除带标题的空列 有人可以帮助我吗 function removeEmptyColumns var ss SpreadsheetApp g
  • 使用 f:param 传递参数时 f:ajax 不起作用

    我正在单击链接时调用一个方法 以下代码可以使用ajax方式工作
  • 如何使用 Grafana 和 Wamp 的 LDAP 身份验证进行单点登录?

    我正在尝试使用 LDAP 为 grafana 添加单点登录 我遇到过LDAP 的 Grafana 文档 http docs grafana org installation ldap 但我不明白 我可以使用 LDAP 获得单点登录功能吗 如
  • 使用 VSIX 部署包含项目模板 IWizard 的程序集

    我已经为 VS 2010 创建了一个部署项目模板的扩展 项目模板使用自定义向导 在特定程序集中 当我基于此模板创建新项目时会调用该向导 我想将包含向导的程序集打包在 VSIX 中 以便将其部署到模板可以找到它的地方 我知道 GAC 不是 V
  • 转换集合

    有一个对象的集合 示意图 A 1 B 1 A 1 B 2 A 2 B 3 A 2 B 4 A 1 B 5 A 3 B 6 Need A 1 Bs 1 2 A 2 Bs 3 4 A 1 Bs 5 A 3 Bs 6 可以这样 LINQ 吗 No
  • UITextView 触摸事件未触发

    我有一个UITextView我想检测一次点击 看起来我只需覆盖就可以了touchesEnded withEvent并检查 touches anyObject tapCount 1 但是这个事件甚至没有触发 如果我像这样重写 4 个事件 vo
  • 如何修复:预期具体生命周期,但发现绑定生命周期参数

    我目前正在听这个问题 我试图将其缩小到最小的可重现示例 struct Request struct ResponseWriter lt a gt dummy a deriving Clone pub struct RouteStore pu
  • 为什么 MIPS 中 bgezal 和 bltzal 是基本指令而不是伪指令?

    根据这个MIPS指令参考 http www weblearn hs bremen de risse RST docs MIPS mips isa pdf 有两条指令 bgezal and bltzal 如果分支被采用 则执行相对跳转和链接
  • 更改 .NET 应用程序配置文件名

    我有一个调用 NET 程序集的 VB6 应用程序 该程序集引用 app config 文件中的设置 默认情况下 NET 查找以 VB6 应用程序命名的配置文件 如何将其重定向以使用不同的配置文件名 这需要成为默认配置文件 以便例如从中读取
  • 如何从apache Spark框架读取XML文件?

    我确实在这里遇到了一个使用 Spark 进行数据预处理的迷你教程 http ampcamp berkeley edu big data mini course featurization html http ampcamp berkeley
  • 如何在 pandas 中旋转分类变量?

    如何透视这些数据 date low up d1 a A d1 b B d2 c C 进入这个 low a b c date d1 A B NaN d2 NaN NaN C 我正在使用pivot table pivot 但它总是要求输入数字
  • 矩阵的边界值问题

    问题 我需要将 P 矩阵的每个元素限制在 1 1 范围内 我已经使用了代码最小最大检查 http www mathworks in matlabcentral fileexchange 43251 bound values of an ar
  • 向 scatter3d 图添加图例

    rgl 是交互式 3D 绘图的可能软件包之一 我想做的是根据一些因子变量构建带有颜色编码的 3D 散点图 3D 维度散点图用于 plsr 分析产生的载荷 结果图看起来像 The 示例数据在表中给出 gt loadings Comp 1 Co
  • 如果我尝试打开 PWM 引脚,Windows 10 Iot Core 应用程序会崩溃

    我想为我的蜂鸣器打开一个 PWM 引脚 但如果我尝试打电话给pwmController OpenPin 6 方法 应用程序崩溃并显示System Runtime InteropServices SEHException 我已经仔细检查过示例
  • 尝试复制大文件时出现 NIO 错误

    我有将文件复制到另一个位置的代码 public static void copyFile String sourceDest String newDest throws IOException File sourceFile new Fil
  • 如何获取终端结果并设置 JTextArea 来读取终端?

    我最近完成了一个 GUI 用户可以在其中输入标准 并获得符合所述条件的结果 该程序的工作结果明智 但我无法让我的 GUI 中的文本字段读取我的终端窗口结果 我的 GUI 代码如下 package project205 import java
  • iOS 静默推送通知仅在连接到 xcode 时有效

    我有一个奇怪的问题 我最近将 Xcode 更新到 6 1 1 以对我之前使用 Xcode 5 发布的应用程序进行更改 运行良好 现在 由于某种原因 当我使用新的 Xcode 测试后台静默推送通知时 它只有在我的 iPhone 连接到 Mac
  • 在 Dart 中合并两个对象列表

    我有具有参数名称和参数计数器的对象 这些对象存储在列表中 我的列表中的某些项目具有重复的参数 名称 我想删除列表内的重复项 并将该重复项的计数器添加到重复对象参数中 class Person Person this name this co