最佳答案
English is not my native language and I can't understand how to write the specified samples right. When you say something what aggregates plural object such as "collection of stamps" you can say alternatively: "stamps collection", am I right? If you will say "stamp collection" it will mean some "collection" which is a single "stamp".
But often I see classes with names like "ItemList" - doesn't it mean that such class is a list which is an item of something else? Such sample is more flaring:
class ItemList: List<Item>
Isn't it have to be so?:
class ItemsList: List<Item>
Why is it rarely written so? Or is it some programming languages naming convention? Or just proper english sentences? :)