{

Dart| Flutter How to calculate the collection numbers sum example


Collection list sum find in Dart and Flutter

Multiple ways to sum of numbers in Dart and flutter with examples

  • List reduce method
  • List fold method
  • lists sum with primitive numbers
  • Iterate list using map, and reduce to sum the object property

The collection is a collection of elements in dart.

For example, a List is one of the collections of items to store in insertion order.

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. Each element is iterated and adds to value, finally list is returned. 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 The collection.dart module provides a 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 convert Double to Integer or Integer to double in Dart| Flutter By Example

Perl How to: Find a Given Variable String is numeric or not

Dart/Flutter: Check if String is Empty, Null, or Blank example

How to generate Unique Id UUID in Dart or Flutter Programming| Dart or Flutterby Example

How to Sort List of numbers or String in ascending and descending in Dart or Flutter example

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

Dart Example - Program to check Leap year or not