Showing posts with label JAVA INTERVIEW QUESTIONS. Show all posts
Showing posts with label JAVA INTERVIEW QUESTIONS. Show all posts

Wednesday, 2 May 2012

JAVA interview questions 37


Q361. Explain about LinkedHashMap? 
It is child class of HashMap. It is exactly same as HashMap except the following difference. In the case of HashMap the insertion order is not preserved but in the case of LinkedHashMap insertion order is preserved. Introduced in 1.4 version 

Q362. What is IdentityHashMap? 
It is exactly same as HashMap except the following difference. 
In the HashMap JVM uses equals() method to identify duplicate keys but in the case of IdentityHashMap JVM uses == operator for this. 
 
Q363. What is WeakHashMap? 
It is exactly same as HashMap except the following difference. 
In case of HashMap an Object is not eligible for garbage collection if it is associated with 
HashMap even though it dosent have any external references. ie HashMap dominates garbage collector. 
But in case of WeakHashMap , if an Object is not having any external references then it is always eligible for garabage collectoion even though it is associated with weakHashMap. ie garbage collector dominates WeakHashMap 

Q364. What is TreeMap? 
TreeMap can be used to store a group of objects as key-value pairs where all the entries are arranged according to some sorting order of keys. 
The underlying data structure is RED-BLACK Tree 
Duplicates keys are not allowed but values can be duplicated. 
Insertion order is not preserved because insertion is based on some sorting order 
If we are depending on Natural sorting order then keys should be homogeneous(violation leads to ClassCastException) but values need not homogeneous 
In case of customized sorting order we can insert heterogeneous keys and values 
For empty TreeMap as first entry with null values are allowed but after inserting that entry if we are trying to insert any other entry we will get NullPointerException For non empty TreeMap if we are trying to insert null keys we will get 
NullPointerException 
There are no restrictions for null values. 

Q365. What is Hashtable? 
Hashtable is a legacy Map and can be used to store objects as key value pairs. 
The underlying data sturucture is Hashtabe 
Duplicates keys are not allowed but duplicate values are allowed null insertion is not possible for both keys and values 
all methods are synchronized 
insertion order is not preserved because it is based on hashcode of keys heterogeneous Objects are allowed for both keys and values 
introduced in 1.0 version it is legacy class 

Q367. What is PriorityQueue? 
It represents a data structure to hold group of individual objects prior to processing based on 
some priority .it can be natural sorting order and it can be customized sorting order described by Comparator. 
It is the implementation class of Queue interface. 
Insertion order is not preserved because here insertion is done based on some sorting order 
Duplicates are not allowed 
null insertion is not possible even as first element also 
If we are depending on natural sorting order Objects should be homogeneous violation leads to ClassCastException 
If we are depending on customized sorting order Objects can be heterogeneous also. 

Q368. What is Arrays class? 
It is utility class for arrays. 
It defines several utility methods for arrays like sorting an array or searching an element in array 
present in java.util package 

Q369. We are planning to do an indexed search in a list of objects. Which of the two Java collections should you use: ArrayList or LinkedList? 
ArrayList 

Q370. Why ArrayList is faster than Vector? 
All methods present in the Vector are synchronized and hence any method can be executed by only one thread at a time. It slows down the execution. 
But in ArrayList, no method is synchronized and hence multiple thread are allowed execute simultaneously which speed up the execution.

JAVA interview questions 36

Q351. What is relation between ListIterator and Iterator? 
ListIterator is child interface of Iterator 

Q352. Explain about HashSet class? 
The underlying data structure is Hashtable null values are accepted 
duplicates are not allowed 
insertion order is based on hashcode of the object hence insertion order is not preserved best suitable if frequent operation is search operations 
HashSet class implements Serializable and Cloneable it is implementation class for Set interface 
heterogeneous objects are allowed 
it is introduced in 1.2 version 

Q353. If we are trying to insert duplicate values in Set what will happen? 
If we are trying to insert duplicate objects to the HashSet , we wont get any compile time or run time errors just the add(Object o) returns false and it doesn’t add that object. 

Q354. What is LinkedHashSet? 
It is the child class of HashSet. The main difference between HashSet and LinkedHashSet is: In the case of HashSet insertion order is not preserved , but in the case of LinkedHashSet insertion will be preserved. 

Q355. What are major enhancements in 1.4 version of collection frame work? 
LinkedHashSet 
LinkedHashMap 
IdentityHashMap 

Q356. Explain about TreeSet? 
It is Collection object which can be used to represent a group of objects according to some sorting order. 
The underlying datastructure is Balanced tree Duplicates are not allowed 
All objects are stored according to some sorting order hence insertion order is not preserved 
Heterogeneous objects are not allowed violation leads to ClassCastException 
For an Empty TreeSet as firs element null value can be inserted but after inserting that first value if we are trying to insert any other objects then we will get NullPointerException 
For an non empty TreeSet if we are trying to inser null value at run time u will get NullPointerException 

Q357. What is Comparable interface? 
This interface can be used for defining natural sorting order of the objects. It is present in java.lang package 
It contains a method public int compareTo(Object obj1) 

Q358. What is Comparator interface? 
This interface can be used for implementing customized sorting order. It is present in java.util package 
It contains two methods 
o public int compare(Object ,Object) o public boolean equals(Object) 

Q359. What is Entry interface? 
It is inner interface of Map. 
In the Map each key value pair is considered as Entry object. 
interface Map{ 
//more code here 
       interface Entry{ 
           Object getKey() 
               Object getValue() 
                  Object setValue(Object new)
       }


Q360. Explain about HashMap? 
It is a Map Object which can be used used to represent a group of objects as key-value pairs. 
The underlying data structure is Hashtable 
Duplicaes keys are not allowed duplicate values are allowed 
Insertion order is not preserved because insertion is based on hashcode of keys. Heterogeneous objects are allowed for both keys and values 
null key is allowed only once 
null values are allowed multiple times 
Introduced in 1.2 version 

Tuesday, 1 May 2012

JAVA interview questions 35

Q341. Explain about ArrayList class? 
ArrayList is a Collection which can be used to represent a group of objects as a single entity. 
it is a implemented class for List interface 
Introduced in 1.2 version 
The underlying data structure is resizable or growable array. Insertion order is preserved 
Duplicates are allowed 
Heterogeneous objects are allowed 
null insertion is possible 
This class implements RandomAccess , Serializable , Cloneable interfaces 
Best choice for retrieval purpose and worst if our frequent operation is insertion or deletion in the middle 

Q342. What is RandomAccess Interface? 
If a collection class implements RandomAccess interface then we can access any of its element with the same speed. 
RandomAccess interface is marker interface and it dosent contains any methods. ArrayList and vector classes implements this interface. 

Q343. Explain about LinkedList class? 
LinkedList is a Collection implemented class which can be used for representing a group of objects as a single entity. 
LinkedList is the implemetation class for List interface Introduced in 1.2 version 
Underlying data Structure is DoubleLinkedList Allows duplicates 
Insertion order is preserved 
Allows heterogeneous objects 
null insertion is possible 
LinkedList class implements Seriallizable and Cloneable interface but not RandomAccess interface 
Best choice if frequent operation is insertion or deletion an objects in middle but worst choice if frequent operation is retrieval. 

Q344. Explain about Vector class? 
Vector is a legacy collection class which can be used to represent a group of objects. 
Introduced in 1.0 version. it is legacy class 
The underlying data structure is resizable or growable array. Insertion order is preserved 
Duplicates are allowed 
Heterogeneous objects are allowed 
It is a implemented class for List interface null insertion is possible 
Vector class implements RandomAccess ,Serializable,Cloneable interfaces 
Best Choice if frequent operation is retrieval and worst choice if frequent operation is insertion or deletion in the middle. 
All methods present in Vector class are synchronized hence Vector class object is thread safe. 

Q345. How we can get synchronized version of ArrayList? 
Collections class contains synchronizedList() method for this 
Public static List synchronizedList(List l) 
EX 
ArrayList l= new ArrayList(); 
List l2=Collections.synchronizedList(l); 
Similarly we can get synchronized versions of Set and Map objects by the following methods. Public static List synchronizedSet(Set s) 
Public static List synchronizedMap(Map m) 

Q346. What is difference between size and capacity of a Collection Object? 
size means number of objects present where as capacity means no of objects it can accommodate. 

Q347. What are legacy classes and interfaces present in Collections framework ? 
Enumeration ---Interface 
Dictonary ------Abstract class 
Hashtable -----Concrete class 
Properties -----Concrete class 
Vector -----Concrete class Stack -----Concrete class 

Q348. What are limitations of Enumeration? 
While iterating the elements we are not allowed to perform removal operation It is applicable only for legacy classes and it is not a universal cursor.It can retrieve the elements only in forward direction. 

Q349. What is difference between enum and Enumeration? 
An enum can be used to define a group of named constants .It has introduced in 1.5 version Ex 
Class Beer{
KO,KF,RC,FO
}
Enumeration is cursor to retrieve Objects one by one from Collection objects.

Q350. What is difference between Iterator and ListIterator? 
o ListIterator is the child interface of the Iterator 
o Iterator is the single direction cursor where as ListIterator is bidirectional cursor. o While iterating the elements by Iterator we can perform only read and remove 
operations. But by using ListIterator we can perform read,removal, replace and 
addition of new objects also. 
o Iterator is applicable for every Collecton implemented class object but 
ListIterator is applicable only for List implemented class objects. 
o Iterator can be get by using iterator() of Collection interface where as ListIterator 
can be get by using listIterator() method of List interface 
o both are introduced in 1.2 version

JAVA interview questions 34

Q331. What is Collection framework? 
It defines set of classes and inter faces which can be used for representing a group of objects as single entity 

Q332. What is difference between Collections and Collection? 
Collection is an interface which can be used for representing a group of individual objects as single entity and it acts as root interface of collection frame work. 
Collections is an utility class to define several utility methods for Collection implemented class objects. 

Q333. Explain about Collection interface? 
* This interface can be used to represent a group of objects as a single entity. * It acts as root interface for entire collection framework. 
* It defines the most commonly used methods which can be applicable for any collection implemented class object 
Q339. Explain about List interface? 
List interface is a child interface of Collection interface. This can be used to represent group of individual objects in as a single entity where 
* Duplicates are allowed 
* Insertion order is preserved 

Q334. Explain about Set interface? 
Set is a child interface of Collection interface. it can be used to represent a group of individual objects as a single entity where 
* Duplicate objects are not allowed. 
* Insertion order is not preserved 

Q335. Explain about SortedSet interface? 
it is child interface of Set interface. it can be used to represent a group of individual objects in to a single entity where 
All the objects are arranged in some sorting order (Can be natural sorting order or customizede). 
Duplicates are not allowed. 

Q336. Explain about NavigableSet ? 
It is child interface of SortedSet and provides several utility methods for navigation purposes 
It doesn’t allows duplicates 
Insertion order is preserved 
It is introduced in 1.6 version 

Q337. Explain about Queue interface? 
If we want to represent a group of individual objects prior to processing, then we should go for Queue interface. It is child interface of Collection interface. 
It has introduced in 1.5 version. 

Q338. Explain about Map interface? 
Remember it is not a child Interface of Collection Interface and hence Map and Collection Interfaces doesn’t have any relationship. 
It can be used for representing a group of Objects as key, value pairs. Both keys and values should be objects 
Keys can t be duplicated but values can be duplicated. it has introduced in 1.2 version 

Q339. Explain about SortedMap ? 
If we want to represent a group of objects as key value pairs where all the entries are arranged according some sorting order of keys then we should go for SortedMap. It is child interface of Map. 
It has introduced in 1.2 version 

Q340. Explain about NavigableMap? 
It is child interface of SortedMap and defines several method for navigation purpose It is introduced in 1.6 version