Frequently used data structures, algorithms in java