I am trying to create a set of n
integers: {0, 1, 2, 3, 4, ..., n}
.
What is the most efficient way to do so?
It looks like {for (var i = 0; i < n; i++) i}
} is more efficient than List.generate(n, (j) => j).toSet()
:
On the dartpad:
void main() {
const size = 1000;
const n = 1000;
final startList = DateTime.now();
for (var i = 0; i < n; i++) {
final s = List.generate(n, (j) => j).toSet();
}
final endList = DateTime.now();
print('List: ${endList.difference(startList)}');
final startSet = DateTime.now();
for (var i = 0; i < n; i++) {
final s = {for (var i = 0; i < n; i++) i};
}
final endSet = DateTime.now();
print('Set: ${endSet.difference(startSet)}');
}
List: 0:00:00.194000
Set: 0:00:00.104000
But are there other (more efficient) ways?