Collections handling classes could be improved, in different ways:
- More functional oriented methods: it allow developers to produce more compact and expressive code. Also that code is more easy to be parallelized.
- Add more convenience methods: default parameters, simpler signature, etc.
- Add more semantic methods: the aim is to produce self-expressive code.
- Reduce side effects: it's always more convenient to create new data structures with the result of some computations instead of modifying the original one
- Use proper abstractions: always use the more generic abstraction available. The use of too specific classes leads to less-reutilizable method
- Rely on standard implementation: Java Collections Framework implements a lot of algorithms and data manipulation routines.
- Use third party well known libraries if you need inspiration. Use those algorithm implementations instead yours if they have better BigO performance