Java MCQ – Home
Java Basic MCQ
➤ Java Hello World MCQ
➤ Find Java Keywords
➤ Java Identifier Quiz
➤ Java Data Types Quiz
➤ If-Else MCQ in Java-1
➤ If-Else MCQ in Java-2
Object class MCQ
➤ Object Class Quiz
➤ equals() Method Quiz
➤ Hashcode Value Quiz
➤ toString() Method Quiz
➤ Clone() Method Quiz
Multithreading MCQ
➤ Define a Thread-1
➤ Define a Thread-2
➤ Get/set ThreadName
➤ Thread State MCQ
➤ Thread Priority MCQ
➤ Yield(), join() & sleep()
➤ Synchronization MCQ
➤ Interthread Comms
➤ Deadlock, Daemon
Exception Handling
➤ Exception Handling-1
➤ Exception Handling-2
➤ Exception Handling-3
➤ Java try-catch MCQ-1
➤ Java try-catch MCQ-2
➤ Java try-catch MCQ-3
➤ Nested try-catch MCQ
➤ throw Keyword MCQ
➤ finally Block MCQ-1
➤ finally Block MCQ-2
➤ throws Keyword MCQ
Generics MCQ
➤ Java Generics Quiz-1
➤ Java Generics Quiz-2
➤ Java Generics Quiz-3
Collection Framework
➤ Collections Quiz-1
➤ Collections Quiz-2
➤ ArrayList MCQ-1
➤ ArrayList MCQ-2
➤ LinkedList MCQ
➤ Vector Stack MCQ
➤ Java Cursors MCQ
➤ Java TreeSet MCQ
➤ TreeSet & Comparator
Java ArrayList MCQ-1 | In Java, collection framework classes are used to store elements in value or key-value format without size limitation. We have listed some Java ArrayList MCQ and programming questions, answer them. See:- Java Collections Quiz-1
Also see- Java Collection Framework Overview, Java Collection Interface, List Interface in Java
Q1) Which of the following classes implements the RandomAccess interface? (More than one options are correct)?
a) ArrayList
b) LinkedList
c) Vector
d) Stack
View Answer
Answer:- (a) ArrayList & (c) VectorArrayList & Vector classes implements RandomAccess interface. Hence they can access any random element with the same speed. It means retrieving nth element directly without retrieving (n-1) elements.
Q2) Find the output of the below program?
import java.util.*;
import java.io.*;
public class Test {
public static void main(String[] args) {
List l1 = new Vector();
List l2 = new ArrayList();
Stack s1 = new Stack();
System.out.println(l1 instanceof RandomAccess);
System.out.println(l2 instanceof AutoCloseable);
System.out.println(s1 instanceof Serializable);
}
}
a) true, true, true
b) true, false, false
c) true, false, true
d) false, false, false
View Answer
Answer:- b) true, false, falseThe Vector class implements the RandomAccess interface. ArrayList class doesn’t implement the AutoCloseable interface. Stack class doesn’t implement any interface.
Q3) In Java, the underlying data structure for the ArrayList and Vector class is?
a) Resizable Array or Growable Array
b) Hash table
c) Balanced Tree
d) Linked List
View Answer
Answer:- a) Resizable Array or Growable ArrayQ4) What will be the output of the below ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("A");
al.add("B");
al.add("A");
al.add(null);
System.out.println(al);
}
}
a) Compile time error
b) [A, B, null]
c) [A, B]
d) [A, B, A, null]
View Answer
Answer:- d) [A, B, A, null]In ArrayList duplicate objects are allowed and we can also insert null values.
Q5) Find the output of the below ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al1 = new ArrayList<String>();
al1.add("A");
al1.add("B");
List<String> al2 = new ArrayList<String>();
al2.add("P");
al2.add("Q");
al1.addAll(al2);
System.out.println(al1);
}
}
a) [A, B]
b) [P, Q]
c) [A, B, P, Q]
d) [P, Q, A, B]
View Answer
Answer:- c) [A, B, P, Q]The addAll(Collection c) method is used to add collection “c” to the given list at the end index.
Q6) Find the output of the below ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al1 = new ArrayList<String>();
al1.add("A");
al1.add("B");
List<String> al2 = new ArrayList<String>();
al2.add("P");
al2.add("Q");
al1.addAll(0, al2);
System.out.println(al1);
}
}
a) [A, B]
b) [P, Q]
c) [A, B, P, Q]
d) [P, Q, A, B]
View Answer
Answer:- d) [P, Q, A, B]The addAll(index, Collection c) method is used to add Collection “c” at the given index. Here passed index value is 0 therefore the collection will be added at the beginning of the given list.
Q7) Find the output of the below ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("A");
al.add("B");
al.add("C");
al.add(1, "Z");
al.add(4, "V");
System.out.println(al);
}
}
a) [A, Z, B, C, V]
b) [A, B, C, Z, V]
c) [Z, A, B, V, C]
d) None of these
View Answer
Answer:- a) [A, Z, B, C, V]The add(index, E) method is used to insert the given element at the specified position or index. Similar to the array, the list index starts from 0.
Q8) Find the output of the below ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("A");
al.add(4, "V");
System.out.println(al);
}
}
a) [A, V]
b) [A, null, null, null, V]
c) Compile time error
d) IndexOutOfBoundsException
View Answer
Answer:- d) IndexOutOfBoundsExceptionList contains only 1 element, without inserting 3 elements we are trying to insert an element at 4th position hence we get IndexOutOfBoundsException. We will not get the compile-time error because syntactically it is a valid statement.
Q9) Find the output of the below Java ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("A");
al.add("B");
al.add("A");
al.add("B");
al.add("A");
al.remove("A");
System.out.println(al);
}
}
a) [B, B]
b) [B, A, B, A]
c) [A, B, A, B]
d) None of these
View Answer
Answer:- b) [B, A, B, A]The remove(Object ob) method removes the first occurrence of the given element.
Q10) Find the output of the below Java ArrayList program?
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("A");
al.add("B");
al.add("A");
al.add("B");
al.add("A");
al.remove(3);
System.out.println(al);
}
}
a) Compile time error
b) [A, B, A, B]
c) [A, B, A, A]
d) None of these
View Answer
Answer:- c) [A, B, A, A]The remove(index) method removes the element at the given index. The index starts from 0.
Q11) How to get the Synchronized version of the ArrayList object?
a) synchronizedList(List l)
b) synchronizedSet(Set s)
c) synchronizedMap(Map m)
d) None of these
View Answer
Answer:- a) synchronizedList(List l)By default ArrayList is non-synchronized but we can get the synchronized version of the ArrayList object by using synchronizedList() method of the Collections class.
Example:-
ArrayList al = new ArrayList();
List li = Collections.synchronizedList(al);
Here “al” is non-synchronized & “li’ is synchronized.
Q12) ArrayList gives poor performance when we are performing?
1) Insert at the end
2) Insertion in the middle
View Answer
Answer:- 2) Insertion in the middleArrayList gives poor performance when we are inserting elements in the middle of the list because for every insertion lot of shifting operations need to be performed. ArrayList is the best choice for retrieving operations. To insert in middle we should use LinkedList.
If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!