Java Collections Interview Questions
Here is the list of
mostly asked collections interview questions with answers.
1.
What is the
difference between ArrayList and Vector?
S.No
|
ArrayList
|
Vector
|
1
|
ArrayList is not synchronized.
|
Vector is synchronized.
|
2
|
ArrayList is not a legacy class.
|
Vector is a legacy class.
|
3
|
ArrayList increases its size by 50% of the array
size.
|
Vector increases its size by doubling the array size.
|
2.
What is the
difference between ArrayList and LinkedList?
S.No
|
ArrayList
|
LinkedList
|
1
|
ArrayList uses a dynamic array.
|
LinkedList uses doubly linked list.
|
2
|
ArrayList is not efficient for
manipulation because a lot of shifting is required.
|
LinkedList is efficient for manipulation.
|
3
|
ArrayList is better to store and fetch
data.
|
LinkedList is better to manipulate data.
|
3.
What is the
difference between Iterator and ListIterator?
Iterator traverses the
elements in forward direction only whereas ListIterator traverses the elements
in forward and backward direction.
S.No
|
Iterator
|
ListIterator
|
1
|
Iterator traverses the elements in
forward direction only.
|
ListIterator traverses the elements in
backward and forward directions both.
|
2
|
Iterator can be used in List, Set and
Queue.
|
ListIterator can be used in List only.
|
4.
What is the
difference between Iterator and Enumeration?
S.No
|
Iterator
|
Enumeration
|
1
|
Iterator can traverse legacy and
non-legacy elements.
|
Enumeration can traverse only legacy
elements.
|
2
|
Iterator is fail-fast.
|
Enumeration is not fail-fast.
|
3
|
Iterator is slower than Enumeration.
|
Enumeration is faster than Iterator.
|
5.
What is the
difference between List and Set?
List can contain duplicate
elements whereas Set contains only unique elements.
6.
What is the
difference between HashSet and TreeSet?
HashSet maintains no
order whereas TreeSet maintains ascending
order.
7.
What is the
difference between Set and Map?
Set contains values only
whereas Map contains key and values both.
8.
What is the
difference between HashSet and HashMap?
HashSet contains only
values whereas HashMap contains entry(key,value). HashSet can be iterated but
HashMap need to convert into Set to be iterated.
9. What is the difference between HashMap and TreeMap?
HashMap maintains no
order but TreeMap maintains ascending
order.
10. What is the difference between
HashMap and Hashtable?
S.No
|
HashMap
|
Hashtable
|
1
|
HashMap is not synchronized.
|
Hashtable is synchronized.
|
2
|
HashMap can contain one null key and
multiple null values.
|
Hashtable cannot contain any null key or
null value.
|
11. What is the difference between
Collection and Collections?
Collection is an interface
whereas Collections is a class. Collection interface provides normal
functionality of data structure to List, Set and Queue. But, Collections class
is to sort and synchronize collection elements.
12. What is the difference between
Comparable and Comparator?
S.No
|
Comparable
|
Comparator
|
1
|
Comparable provides only one sort of
sequence.
|
Comparator provides multiple sort of
sequences.
|
2
|
It provides one method named compareTo().
|
It provides one method named compare().
|
3
|
It is found in java.lang package.
|
it is found in java.util package.
|
4
|
If we implement Comparable interface,
actual class is modified.
|
Actual class is not modified.
|
13. What is the advantage of Properties
file?
If you change the value in
properties file, you don't need to recompile the java class. So, it makes the
application easy to manage.
14. What does the hashCode() method?
The hashCode() method
returns a hash code value (an integer number).
The hashCode() method
returns the same integer number, if two keys (by calling equals() method) are
same.
But, it is possible that
two hash code numbers can have different or same keys.
15. Why we override equals() method?
The equals method is used
to check whether two objects are same or not. It needs to be overridden if we
want to check the objects based on property.
For example, Employee is a
class that has 3 data members: id, name and salary. But, we want to check the
equality of employee object on the basis of salary. Then, we need to override
the equals() method.
16. How to synchronize List, Set and
Map elements?
Yes, Collections class
provides methods to make List, Set or Map elements as synchronized:
public static List synchronizedList(List
l){}
|
public static Set synchronizedSet(Set
s){}
|
public static SortedSet
synchronizedSortedSet(SortedSet s){}
|
public static Map synchronizedMap(Map
m){}
|
public static SortedMap
synchronizedSortedMap(SortedMap m){}
|
17. What is the advantage of generic
collection?
If we use generic class,
we don't need typecasting. It is typesafe and checked at compile time.
18. What is hash-collision in Hashtable
and how it is handled in Java?
Two different keys with
the same hash value is known as hash-collision. Two different entries will be
kept in a single hash bucket to avoid the collision.
19. What is the Dictionary class?
The Dictionary class
provides the capability to store key-value pairs.
20. What is the default size of load
factor in hashing based collection?
The default size of load
factor is 0.75. The default capacity is computed as
initial capacity * load factor. For example, 16 * 0.75 = 12. So, 12 is the
default capacity of Map.
No comments:
Post a Comment