Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
AI & KI NachrichtenWhy Big Tech wants more economists(02.10.2026 um 06:00 Uhr)
••••••••••
AI & KI NachrichtenWhy Big Tech wants more economists(02.10.2026 um 06:00 Uhr)
••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

Extending Iterable for Custom Aggregations in Dart

Dart is a powerful programming language that allows developers to extend the functionality of existing classes using extension methods. This feature can be…

Beitrag
0
Seite
0
↗ Quelle (dev.to)
Social ReaktionenReagiere als Erste:r — dein Feedback zählt!

Dart is a powerful programming language that allows developers to extend the functionality of existing classes using extension methods. This feature can be incredibly useful when you want to add custom aggregations and operations to the Iterable class. In this article, we'll explore how to extend Iterable with custom aggregation methods for summing, finding the maximum value, and finding the minimum value.






Adding Custom Aggregations to Iterable



We will create an extension called IterableExtensions that adds three methods to Iterable:





  1. sum: Computes the sum of the elements based on a provided function.


  2. maxBy: Finds the maximum element based on a provided comparison function.


  3. minBy: Finds the minimum element based on a provided comparison function.



Here is the Dart code for the extension:




extension IterableExtensions<T> on Iterable<T> {
num sum(num Function(T) f) {
return fold(0, (previous, element) => previous + f(element));
}

T? maxBy(Comparable Function(T) f) {
return isEmpty ? null : reduce((a, b) => f(a).compareTo(f(b)) >= 0 ? a : b);
}

T? minBy(Comparable Function(T) f) {
return isEmpty ? null : reduce((a, b) => f(a).compareTo(f(b)) <= 0 ? a : b);
}
}









Method Breakdown





  • sum: This method takes a function f that maps each element to a num value. It uses the fold method to iterate through the elements, accumulating their sum.


  • maxBy: This method takes a function f that returns a Comparable value for each element. It uses the reduce method to find the element with the maximum value based on the comparison function.


  • minBy: This method is similar to maxBy, but it finds the element with the minimum value.






Usage Examples



Let's see how these extension methods can be used in practice:




void main() {
var items = [1, 2, 3, 4, 5];
print(items.sum((x) => x)); // Output: 15
print(items.maxBy((x) => x)); // Output: 5
print(items.minBy((x) => x)); // Output: 1

var strings = ["apple", "banana", "cherry"];
print(strings.maxBy((s) => s.length)); // Output: "banana"
print(strings.minBy((s) => s.length)); // Output: "apple"
}









Explanation





  • Summing Elements: The sum method is used on a list of integers to calculate the total sum. In this case, it sums up to 15.


  • Finding Maximum and Minimum Values: The maxBy and minBy methods are used to find the maximum and minimum elements in a list based on the value itself for integers and based on the string length for strings.






Benefits of Extension Methods



Using Dart's extension methods, you can add functionality to existing classes and types in a way that is both expressive and easy to read. This approach allows you to write cleaner and more maintainable code by encapsulating common operations and making them available directly on the Iterable interface.



In conclusion, extending Iterable with custom aggregation methods can greatly enhance the expressiveness of your Dart code. By using the provided sum, maxBy, and minBy methods, you can perform complex operations in a concise and readable manner. This makes your code not only easier to write but also easier to understand and maintain.

🔍 CTI & Forensik

Cyber Threat Intelligence & Forensik

Bedrohungsgraph · ATT&CK-Mapping · Exploit-Belege
CTI Threat Relationship Graph
Akteure · Techniken · Beziehungen
2 Knoten · 1 Relationen
CVE / Incident Threat Actor Software MITRE ATT&CK CWE Weakness IoC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Extending Iterable for Custom Aggregations in Dart

Thematisch verwandte Begriffe: Extending, Iterable, Custom, Aggregations · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag