How to deep Copy a List in Dart - Step by Step Examples
How to deep Copy a List in Dart ?
Answer
To deep copy a list in Dart, you can use the `map` method to iterate through the list and create a new list with cloned elements.
✐ Examples
1 Deep Copy a List of Integers
In this example,
- We create a list named
originalList
with integer values. - We use the
map
method oforiginalList
to iterate through each element and create a new list with the same elements. - The
toList
method converts the iterable result ofmap
back to a list. - Finally, we print both lists to verify the deep copy.
Dart Program
void main() {
List<int> originalList = [1, 2, 3, 4, 5];
List<int> deepCopiedList = originalList.map((element) => element).toList();
print('Original List: \$originalList');
print('Deep Copied List: \$deepCopiedList');
}
Output
Original List: [1, 2, 3, 4, 5] Deep Copied List: [1, 2, 3, 4, 5]
2 Deep Copy a List of Custom Objects
In this example,
- We define a class named
Person
with propertiesname
andage
. - We create a list named
originalList
containingPerson
objects. - We use the
map
method to iterate through eachPerson
object and create a newPerson
object with the same properties. - The
toList
method converts the iterable result ofmap
back to a list. - Finally, we print both lists to verify the deep copy.
Dart Program
class Person {
String name;
int age;
Person(this.name, this.age);
Person clone() => Person(this.name, this.age);
@override
String toString() => 'Person(name: \$name, age: \$age)';
}
void main() {
List<Person> originalList = [
Person('Alice', 30),
Person('Bob', 25),
Person('Charlie', 35)
];
List<Person> deepCopiedList = originalList.map((person) => person.clone()).toList();
print('Original List: \$originalList');
print('Deep Copied List: \$deepCopiedList');
}
Output
Original List: [Person(name: Alice, age: 30), Person(name: Bob, age: 25), Person(name: Charlie, age: 35)] Deep Copied List: [Person(name: Alice, age: 30), Person(name: Bob, age: 25), Person(name: Charlie, age: 35)]
Summary
In this tutorial, we learned How to deep Copy a List in Dart language with well detailed examples.
More Dart Lists Tutorials
- How to create an Empty List in Dart ?
- How to Initialize a List in Dart ?
- How to Get Length of a List in Dart ?
- How to create a List of size N in Dart ?
- How to create a List of Numbers from 1 to N in Dart ?
- How to create a List of Strings in Dart ?
- How to create a List of Empty Lists in Dart ?
- How to Access Elements in a List in Dart ?
- How to get Element in a List at a Specific Index in Dart ?
- How to get First Element in a List in Dart ?
- How to get Last Element in a List in Dart ?
- How to Iterate Over a List in Dart ?
- How to Iterate Over a List with Index in Dart ?
- How to Iterate Over a List in Reverse Order in Dart ?
- How to check if a List is Empty in Dart ?
- How to check if a List is Not Empty in Dart ?
- How to get Sub List in Dart ?
- How to get the Index of Specified Element in a List in Dart ?
- How to check if a Specific Element is present in the List in Dart ?
- How to check if a List contains all the elements of Another List in Dart ?
- How to count the Number of Occurrences of Specific Element in the List in Dart ?
- How to find the Element with Maximum Number of Occurrences in a List in Dart ?
- How to find the Element with Minimum Number of Occurrences in a List in Dart ?
- How to Sort a List in Dart ?
- How to Sort a List in Ascending Order in Dart ?
- How to Sort a List in Descending Order in Dart ?
- How to create a Two Dimensional List in Dart ?
- How to Iterate over a Two Dimensional List in Dart ?
- How to create a Three Dimensional List in Dart ?
- How to Copy a List in Dart ?
- How to deep Copy a List in Dart ?
- How to Split a List in Dart ?
- How to Join Lists in Dart ?
- How to Append an Element to a List in Dart ?
- How to Insert an Element at Specific Index in a List in Dart ?
- How to Append a List to another List in Dart ?
- How to Concatenate Two Lists in Dart ?
- How to check if Two Lists are Equal in Dart ?
- How to check if Two Lists have Same Elements (Regardless of Order) in Dart ?
- How to Convert a List of Integers to a List of Strings in Dart ?
- How to Convert a List of Strings to a List of Integers in Dart ?
- How to Convert a List of Floats to a List of Strings in Dart ?
- How to Convert a List of Strings to a List of Floats in Dart ?
- How to Reverse a List in Dart ?
- How to Shuffle a List in Dart ?
- How to Slice a List in Dart ?
- How to Slice First N Elements from a List in Dart ?
- How to Slice Last N Elements from a List in Dart ?
- How to Rotate Elements in a List in Dart ?
- How to Filter Elements of a List based on a Condition in Dart ?
- How to Remove Duplicates in a List in Dart ?
- How to Remove Element at a Specific Index from a List in Dart ?
- How to Remove Specific Element from a List in Dart ?
- How to Remove Element from List based on a Condition in Dart ?
- How to Sort a List of Strings in Dictionary Order in Dart ?
- How to Concatenate Strings in List in Dart ?
- How to create a List of Lists in Dart ?
- How to create a List of Dictionaries in Dart ?
- How to create a List of Sets in Dart ?