Should we use Generic Collection to improve safety and performance?
Short answer: yes
Longer answer: There are really no downsides to using generic collections. Compile-time type checking eliminates the posibility of runtime errors from casting. Performance will be greater for built-in types such as integers, since boxing and unboxing are not needed (in contrast to Java generic collections, by the way)