Bird
Raised Fist0
Fluttermobile~20 mins

Lists, Maps, and Sets in Flutter - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Lists, Maps, and Sets
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ ui_behavior
intermediate
2:00remaining
What is the output of this Flutter List display?
Consider this Flutter code snippet that displays a list of names in a ListView. What will be shown on the screen?
Flutter
List<String> names = ['Anna', 'Bob', 'Cara'];

ListView(
  children: names.map((name) => Text(name)).toList(),
)
AA single Text widget showing 'AnnaBobCara' concatenated
BAn empty screen with no text
CA vertical list showing: Anna, Bob, Cara each on its own line
DA runtime error because ListView children must be widgets
Attempts:
2 left
💡 Hint
Think about how map and toList create widgets for each name.
🧠 Conceptual
intermediate
1:30remaining
How does a Dart Map store data?
In Dart, what is the main characteristic of a Map collection?
AIt stores only integer values indexed by position
BIt stores only unique values without keys
CIt stores ordered elements like a list
DIt stores key-value pairs where keys are unique and values can be any type
Attempts:
2 left
💡 Hint
Think about how you look up a phone number by a person's name.
📝 Syntax
advanced
1:30remaining
What error does this Dart Set code cause?
What error will this Dart code produce? Set numbers = {1, 2, 3, 3, 4}; print(numbers.length);
Flutter
Set<int> numbers = {1, 2, 3, 3, 4};
print(numbers.length);
APrints 4 because duplicates are ignored in sets
BPrints 5 because duplicates are allowed in sets
CSyntaxError because duplicate values are not allowed in set literals
DRuntime error because sets cannot contain integers
Attempts:
2 left
💡 Hint
Remember what a set means in math: no duplicates.
❓ lifecycle
advanced
2:00remaining
How does Flutter rebuild widgets when a List changes?
If you update a List used in a Flutter widget's build method, what triggers the UI to update?
ACalling setState() to notify Flutter to rebuild the widget
BChanging the List automatically rebuilds the UI without extra code
CYou must manually refresh the screen outside Flutter
DFlutter rebuilds only when the app restarts
Attempts:
2 left
💡 Hint
Think about how Flutter knows when to redraw the screen.
🔧 Debug
expert
2:30remaining
Why does this Flutter Map access cause an error?
Given this Dart Map: Map ages = {'Alice': 30, 'Bob': 25}; What error occurs when running: print(ages['Cara']!);
Flutter
Map<String, int> ages = {'Alice': 30, 'Bob': 25};
print(ages['Cara']!);
APrints null because 'Cara' is not in the map
BThrows a runtime error because 'Cara' key does not exist and ! forces non-null
CSyntax error because ! cannot be used with map access
DPrints 0 because missing keys default to zero
Attempts:
2 left
💡 Hint
Consider what happens when you force a null value to be non-null.

Practice

(1/5)
1. Which of the following correctly describes a Set in Flutter?
easy
A. A fixed-size list that cannot be changed.
B. A collection of key-value pairs for fast lookup.
C. An ordered list that allows duplicate items.
D. A collection of unique items without any specific order.

Solution

  1. Step 1: Understand Set characteristics

    A Set stores unique items and does not maintain order.
  2. Step 2: Compare with other collections

    Maps store key-value pairs, Lists allow duplicates and are ordered.
  3. Final Answer:

    A collection of unique items without any specific order. -> Option D
  4. Quick Check:

    Set = unique unordered collection [OK]
Hint: Remember: Sets have unique items, no order [OK]
Common Mistakes:
  • Confusing Sets with Lists (which allow duplicates)
  • Thinking Sets maintain insertion order
  • Mixing up Maps and Sets
2. Which of the following is the correct syntax to create a Map in Flutter?
easy
A. var myMap = {'key1': 'value1', 'key2': 'value2'};
B. var myMap = Set('key1', 'value1');
C. var myMap = ['key1', 'value1', 'key2', 'value2'];
D. var myMap = {1, 2, 3};

Solution

  1. Step 1: Identify Map syntax

    Maps use curly braces with key-value pairs separated by colons.
  2. Step 2: Check each option

    var myMap = {'key1': 'value1', 'key2': 'value2'}; correctly uses {'key': 'value'} pairs. Others are list, set, or invalid syntax.
  3. Final Answer:

    var myMap = {'key1': 'value1', 'key2': 'value2'}; -> Option A
  4. Quick Check:

    Map syntax = {'key': 'value'} [OK]
Hint: Maps use curly braces with colon-separated pairs [OK]
Common Mistakes:
  • Using commas instead of colons for key-value pairs
  • Confusing list syntax with Map syntax
  • Trying to create Map with Set syntax
3. What will be the output of this Flutter code?
var list = [1, 2, 3, 2];
var set = list.toSet();
print(set);
medium
A. {1, 2, 3}
B. [1, 2, 3, 2]
C. {1, 2, 3, 2}
D. [1, 2, 3]

Solution

  1. Step 1: Convert list to set

    Calling toSet() removes duplicates and creates a Set.
  2. Step 2: Understand Set output

    Set prints with curly braces and unique values only: {1, 2, 3}.
  3. Final Answer:

    {1, 2, 3} -> Option A
  4. Quick Check:

    List to Set removes duplicates [OK]
Hint: toSet() removes duplicates and changes brackets [OK]
Common Mistakes:
  • Expecting list brackets [] instead of set braces {}
  • Thinking duplicates remain after toSet()
  • Confusing output format of Set vs List
4. Identify the error in this Flutter code snippet:
var map = {'a': 1, 'b': 2};
map.add('c', 3);
medium
A. Keys in Map must be integers, not strings.
B. The method add() does not exist for Map.
C. Map cannot have more than two key-value pairs.
D. The syntax for Map declaration is incorrect.

Solution

  1. Step 1: Check Map methods

    Maps do not have an add() method; use map[key] = value to add entries.
  2. Step 2: Validate other options

    Keys can be strings, Maps can have many pairs, and declaration syntax is correct.
  3. Final Answer:

    The method add() does not exist for Map. -> Option B
  4. Quick Check:

    Use map[key] = value to add entries [OK]
Hint: Use map[key] = value to add, not add() method [OK]
Common Mistakes:
  • Trying to use add() on Map instead of assignment
  • Thinking Map keys must be integers
  • Assuming Map size is limited
5. Given this Flutter code, what will be the final content of result?
var list = [1, 2, 2, 3];
var map = {for (var i in list) i: i * 2};
var result = map.values.toSet().toList();
print(result);
hard
A. [1, 4, 6]
B. [1, 2, 3]
C. [2, 4, 6]
D. [2, 2, 4, 6]

Solution

  1. Step 1: Create Map from list

    Map comprehension uses list items as keys and doubles as values. Duplicate keys overwrite, so map = {1:2, 2:4, 3:6}.
  2. Step 2: Extract values and remove duplicates

    map.values = [2, 4, 6]. Converting to Set removes duplicates (none here), then toList() keeps order.
  3. Final Answer:

    [2, 4, 6] -> Option C
  4. Quick Check:

    Map keys unique, values doubled, duplicates removed [OK]
Hint: Map keys unique; duplicates overwrite values [OK]
Common Mistakes:
  • Expecting duplicate keys to keep all entries
  • Confusing keys and values in map comprehension
  • Not converting Set back to List
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard