The following are some best practices that one can follow while using collection API (as discussed in various blogs and books)
- Code to interfaces rather than implementation; reason, you can change the implementation later on without significant effect.
- Set the initial capacity of the collection appropriately, if you know the size you can gain on speed, else these collection classes will have to grow periodically when the size hits the limit.
- Use ArrayList, HashMap etc as opposed to Vector and Hashtable; reason,Vector and Hashtable methods are synchronized, if you want synchronization using ArrayList, HashMap then you externally synchronize the same. I will show that in my next blog.
- Return zero length collection or array as opposed to returning NULL; to avoid running into NullPointerException issues at runtime.
- Immutable object should be used as keys for the HashMap; so also as values in a HashSet.
- Encapsulate collections; to avoid unintentional modification of the collections.
- Stored related objects together and avoid storing unrelated or different types in the same collection.