As we discussed above, collection implementations can vary widely. But there are some common elements of all collections (and particular kinds of collections) that can be logically grouped into interfaces. These interfaces are useful in treating all collections in a common way. For example, language syntax such as VB’s for each
statement should work over all collections, regardless of implementation details.