This course will be retired on July 14, 2025.
Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed C# Collections!
You have completed C# Collections!
Preview
Array, List, HashSet, and Dictionary are just four of the many collection types provided by the System.Collections.Generic namespace.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
Array, list, hashSet and
dictionary can get us a long ways, but
0:00
there are many other types of collections.
0:05
All of them have specific advantages.
0:07
It's important to always pick
the correct collection for
0:10
the way the data is being used.
0:12
The four collections
we've learned about so
0:15
far may not always be the best for
the job.
0:16
Let's briefly look at some of
the other less common collection
0:20
types provided by the .NET Framework.
0:24
We'll start in
the System.Collections.Generic namespace.
0:27
Here we see another list collection.
0:30
It's called LinkedList.
0:34
LinkedList is different than the list
collection type we used earlier in
0:36
this course.
0:39
Linked lists are used when we
want to be able to quickly add or
0:41
remove items without the items
in the list being shifted.
0:44
This works because linked lists
don't use an array internally.
0:48
Instead it's a list of individual
nodes that are linked to each other.
0:52
They're much faster at adding and
removing items than an array based list.
0:56
On the other hand, linked list
don't provide a quick way to index
1:00
directly into items in
the list using an index.
1:03
A queue is like a list except items can
only be added to the end of the queue and
1:06
they can only be removed
from the beginning.
1:11
This is why it's called a first in
first out or FIFO collection type.
1:14
You can think of this just like
the line at a grocery store.
1:19
The first person in the line is
the first person that checks out.
1:22
A stack on the other hand is a last in,
first out or LIFO collection.
1:26
With the stack we can only add and
remove items from one end of the stack.
1:31
Think of this like a stack of plates.
1:35
The last plate,
placed on the top of the stack,
1:38
is the first one that'll be
used when we need a plate.
1:41
Queues and stacks are limited in the types
of operations we can do with them, but
1:44
these limitations allow them to be very
efficient at storing and retrieving data.
1:47
They're commonly used to
simplify how algorithms for
1:52
processing data are implemented.
1:55
Then we have a number of
sorted collection types.
1:57
A sortedSet doesn't use an object's hash
code to determine if it's in the set.
2:00
Instead it keeps the items in the set
sorted, so they're arranged in
2:05
such a way that it can quickly
determine if an item is in the set.
2:09
Just like hashSet,
it also doesn't allow duplicates.
2:12
SortedDictionary works
just like a sorted set,
2:16
where the keys of
the dictionary are sorted.
2:19
As with tne normal dictionary,
a value can be associated with each key.
2:21
SortedSet and sortedDictionary take up
less additional memory than hashSet and
2:25
the standard dictionary, especially
when the number of items becomes large.
2:29
And of course they should be used if
we want to loop through the items or
2:34
keys in a sorted order.
2:38
SortedList is actually more like
a dictionary than it is a list.
2:40
As you can see,
it contains both keys and values.
2:45
Just like sortedDictionary, the keys of
a sorted list are stored in sorted order.
2:49
It uses less memory than a sorted
dictionary but it's also slower adding and
2:54
removing items.
2:59
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up