20 Java Collections
Interview Questions
In java, collection interview questions are
mostly asked by the interviewers. Here is the list of mostly asked collections
interview questions with answers.
1) What is the difference between ArrayList
and Vector?
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?
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.
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?
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?
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?
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