Why is it preferred to use Lists instead of Arrays in Java?
arraylist, arrays, data-structures, java, list
Solution
You should generally prefer to choose the right data structure for the job. You need to understand your task at hand as well as all the different options you have and how they compare in terms of iteration, and searching, and adding, removing, and inserting data. In general, you need to understand how the data structure accesses and manipulates memory and choose the best data structure based on how you anticipate your application will be used.
Obviously, it isn't always clear-cut. But you can understand the ideals for different data structures.
For example, purely static, fixed length data in which you'll only iterate, without a need for search, is ideal for an array. It's common to use such arrays in cipher algorithms. If the data is static but instead of iterating, you need to search, you might want some type of tree structure. If you want fast insertion, hashing is probably the ideal. If the data changes often, you want a structure that is efficient at changing its size, like a list.
Of course, there's many variations and combinations of data structures designed to solve all kinds of specific problems. The reason there are so many is because of the importance they play in writing efficient programs. Anyway, my point is, learn about data structures. Understand the ideal situations for each and then you'll be able to decide or design suitable data structures for any task.
Problem
Many people and authors suggested to us to use list than array. ``` List <Integer> list = new ArrayList<Integer>(); list.addElement(1); .... ``` What it is the reason behind it?