Created
March 25, 2019 01:36
-
-
Save AAQ-AND-DEV/5853abe30639c39c3fd7ea09a7caabb0 to your computer and use it in GitHub Desktop.
lists, maps, iterators
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main(){ | |
var list = [10, "what", 4, 99]; | |
var list2 = <Object>[10, "what", 4, 99]; | |
print(list[1]); | |
//print(list.runtimeType); //error in dartPad | |
print(list.length); | |
for(int i = 0; i<list.length; i++){ | |
print("Index $i contains ${list[i]}"); | |
} | |
print(list2.runtimeType); | |
var ind = 0; | |
for (Object o in list2){ | |
print("index $ind contains $o"); | |
ind++; | |
} | |
var listBools = [true, false, true]; | |
print(listBools.runtimeType); | |
//use isEmpty or isNotEmpty properties (not length) | |
//from dartlang docs | |
//https://www.dartlang.org/guides/language/sound-dart | |
//type argument inference | |
List<int> listOfInt = []; | |
var listOfDouble = [3.0, 1.5, 7.5]; | |
var ints = listOfDouble.map((x) => x.toInt()); | |
print(ints.runtimeType); | |
ints.forEach(print); | |
//List<int> ints2 = List<int>.from(listOfDouble); //presence of doubles throws error | |
List<int> ints3 = []; | |
//I'm surprised this works to get just the 3 | |
for (num n in listOfDouble){ | |
n.toInt(); | |
if (n is! int) { | |
} else { | |
ints3.add(n); | |
} | |
} | |
print(ints3); | |
var dict = { | |
"hello" : 'salut', | |
"goodbye" : "au revoir", | |
"thanks" : "merci" | |
}; | |
var keys = dict.keys; | |
var vals = dict.values; | |
dict.forEach((k,v)=>print("$k : $v")); | |
var iter = keys.iterator; | |
var iter2 = vals.iterator; | |
//can you iterate in parallel over both iterables? yup! | |
while (iter.moveNext()&& iter2.moveNext()){ | |
print(iter.current); | |
print(iter2.current); | |
} | |
for (int i = 0; i<keys.length; i++){ | |
//print(keys[i]); error: no indexing | |
//print(vals[i]); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment