{

Dart| Flutter How to calculate the collection numbers sum example


The collection is a collection of elements in dart.

For example, a List is one of the collections of items to store with insertion order. Collection list sum find in Dart and Flutter

Dart Collection of the sum of numbers example

There are multiple ways we can do the sum for the collection of numbers.

  • use List reduce method

List. reduce() method reduces the collection of elements with the iteration of elements and applies the function.

Here, The Function addition of each element from the list.

int reduce(int Function(int, int) combine)

Here is an example

main() {
  List<int> lists = [1, 2, 3, 6, 8];
  var sum = lists.reduce((value, current) => value + current);

  print(sum);
  print(lists);
}

Output:

20
[1, 2, 3, 6, 8]
  • use the List fold method

List fold method is another way to reduce the collection into some function

T fold<T>(T initialValue, T Function(T, int) combine)

The first parameter is initialValue The second parameter is a combined function.

Here is an example program

main() {
  List<int> lists = [1, 2, 3, 6, 8];
  int sum = lists.fold(0, (previous, current) => previous + current);

  print(sum);
  print(lists);
}

Output:

20
[1, 2, 3, 6, 8]
  • Collection sum property collection.dart module provides sum property on a list object.

It is easy and quick to get a sum of a number.

Here is a program code

import 'package:collection/collection.dart';

main() {
  List<int> lists = [1, 2, 3, 6, 8];
  int sum = lists.sum;

  print(sum);
  print(lists);
}

Calculate the sum property value in a list of objects

This example finds the sum of employee salaries in a list of employee objects. Let’s create an employee object.

There are multiple ways we can do the sum of the object by the property value.

class Employee {
  final int id;
  final String name;
  final int salary;
  final DateTime joinDate;

  Employee(this.id, this.name, this.salary, this.joinDate);

  Map<String, dynamic> toJson() =>
      {"id": id, "name": name, "salary": salary, "doj": joinDate.toString()};
}

First Way, iterate the list using the map method and apply reduce function to sum the current and previous value.

  int result = employees
      .map((item) => item.salary)
      .reduce((value, current) => value + current);

The second way, use the fold method to iterate and sum the list of objects by property key

double result1 =
      employees.fold(0, (sum, element) => sum.toDouble() + element.salary);

Here is an example program

class Employee {
  final int id;
  final String name;
  final int salary;
  final DateTime joinDate;

  Employee(this.id, this.name, this.salary, this.joinDate);

  Map<String, dynamic> toJson() =>
      {"id": id, "name": name, "salary": salary, "doj": joinDate.toString()};
}

void main() {
  final e1 =
      Employee(11, 'Erwin', 9000, DateTime.parse("2020-06-21 00:00:00.000"));
  final e2 =
      Employee(21, 'Andrew', 70000, DateTime.parse("2021-07-23 00:00:00.000"));
  final e3 =
      Employee(4, 'Mark', 8000, DateTime.parse("2017-08-24 00:00:00.000"));
  final e4 =
      Employee(12, 'Otroc', 5000, DateTime.parse("2022-12-05 00:00:00.000"));

  final List<Employee> employees = [e1, e2, e3, e4];
  int result = employees
      .map((item) => item.salary)
      .reduce((value, current) => value + current);
  print(result); //92000
  double result1 =
      employees.fold(0, (sum, element) => sum.toDouble() + element.salary);

  print(result1); //92000
}
THE BEST NEWSLETTER ANYWHERE
Join 6,000 subscribers and get a daily digest of full stack tutorials delivered to your inbox directly.No spam ever. Unsubscribe any time.

Similar Posts
Subscribe
You'll get a notification every time a post gets published here.





Related posts

How to iterate loop Enum in Dart | Get Enum with index in Flutter By Example

Dart Enum comparison operator| Enum compareByIndex example| Flutter By Example

Dart tutorial examples/ Flutter By Examples

How to add Methods or Values to Enums in Dart | Flutter By Example

How to convert Double to Integer or Integer to double in Dart| Flutter By Example

How to: Enum to String in Dart | Print Enum name as String in Flutter By Example

Dart| Flutter How to get File name and extension with example