Internally the regular .NET-collections are stored as arrays. When you store a collection, db4o will store all the collection-items into a array. And when you retrieve a collection, db4o will create a new instance of the collection and add back the items. Dictionary-instances are stored as an array of key-values.
Unfortunately this implementation is not very efficient for searches/updates of a certain value in a collection, as the whole collection needs to be instantiated to access any of its elements.
db4o brings some special collections with it. There are collections which support transparent persistence. See "TA Aware Collections"
When you have a need for a huge collection, you might run into some performance bottleneck, since collections are always stored and retrieved as complete unit. You can use db4o special big-set to improve performance. See "Big Set"
You might wonder what is better to use, collection or arrays. Most of times it doesn't matter. See "Collections Or Arrays"