In the Microsoft .NET Framework, a lot of effort went into creating collection classes that are powerful and that address a variety of needs and styles. These collections are simple to use, intuitive, and have adequate performance - all very important characteristics.
In this article Inbar Gazit introduces collections in .NET, how they work, when to use them, and some best practices.
On SimoneB's Blog a couple of interesting articles: