What is wrong with each of the following code segments?

a. ArrayList values = new ArrayList();

b. ArrayList values = new ArrayList();

c. ArrayList values = new ArrayList;

d. ArrayList values = new ArrayList();
for (int i = 1; i <= 10; i++) {
values.set(i - 1, i * i);
}

e. ArrayList values;
for (int i = 1; i <= 10; i++) {
values.add(i * i);
}

Respuesta :

Answer:

a. ArrayList values = new ArrayList();

Correct way:  ArrayList<Type> values = new ArrayList<>();

b. ArrayList values = new ArrayList();

Correct way:  ArrayList<Type> values = new ArrayList<>();

c. ArrayList values = new ArrayList;

Correct way:  ArrayList<Type> values = new ArrayList<>();  

d. ArrayList values = new ArrayList();

for (int i = 1; i <= 10; i++) {

values.set(i - 1, i * i);

}

Correct way:  

ArrayList<Integer> values = new ArrayList<>();  

for (int i = 1; i <= 10; i++) {

*At this point size of the array is 0*

values.set(i - 1, i * i);  

* "set()" method is used to set an element in an ArrayList object at the specified index and in this line is wrong bcz u have no objects added in your ArrayList. *

}

e. ArrayList values;  --> You have to initialize the ArrayList

for (int i = 1; i <= 10; i++) {

values.add(i * i);  }

Correct way:  

ArrayList<Integer> values = new ArrayList<>();  

for (int i = 1; i <= 10; i++) {

values.add(i * i);  }