Wednesday, April 9, 2008

Java Collections – Part 1

Interview questions on Java Collections API

1. What is the Collections API?

The Collections API is a set of classes and interfaces that support operations on collections of objects.

2. What is the List interface?

The List interface provides support for ordered collections of objects.

3. What is the Vector class?

The Vector class provides the capability to implement a growable array of objects.

4. What is an Iterator interface?

The Iterator interface is used to step through the elements of a Collection.

5. Which java.util classes and interfaces support event handling?

The EventObject class and the EventListener interface support event processing.

6. What is the GregorianCalendar class?

The GregorianCalendar provides support for traditional Western calendars

7. What is the Locale class?

The Locale class is used to tailor program output to the conventions of a particular geographic, political, or cultural region.

8. What is the SimpleTimeZone class?

The SimpleTimeZone class provides support for a Gregorian calendar.

9. What is the Map interface?

The Map interface replaces the JDK 1.1 Dictionary class and is used associate keys with values.

10. What is the highest-level event class of the event-delegation model?

The java.util.EventObject class is the highest-level class in the event-delegation class hierarchy.

11. What is the Collection interface?

The Collection interface provides support for the implementation of a mathematical bag - an unordered collection of objects that may contain duplicates.

12. What is the Set interface?

The Set interface provides methods for accessing the elements of a finite mathematical set. Sets do not allow duplicate elements.

13. What is the typical use of Hashtable?

Whenever a program wants to store a key value pair, one can use Hashtable.

14. I am trying to store an object using a key in a Hashtable. And some other object already exists in that location, then what will happen? The existing object will be overwritten? Or the new object will be stored elsewhere?

The existing object will be overwritten and thus it will be lost.

15. What is the difference between the size and capacity of a Vector?

The size is the number of elements actually stored in the vector, while capacity is the maximum number of elements it can store at a given instance of time.

16. Can a vector contain heterogeneous objects?

Yes a Vector can contain heterogeneous objects. Because a Vector stores everything in terms of Object.

17. Can an ArrayList contain heterogeneous objects?

Yes a ArrayList can contain heterogeneous objects. Because an ArrayList stores everything in terms of Object.

18. What is an enumeration?

An enumeration is an interface containing methods for accessing the underlying data structure from which the enumeration is obtained. It is a construct which collection classes return when you request a collection of all the objects stored in the collection. It allows sequential access to all the elements stored in the collection.

19. Considering the basic properties of Vector and ArrayList, where will you use Vector and where will you use ArrayList?

The basic difference between a Vector and an ArrayList is that, vector is synchronized while ArrayList is not. Thus whenever there is a possibility of multiple threads accessing the same instance, one should use Vector. While if not multiple threads are going to access the same instance then use ArrayList. Non synchronized data structure will give better performance than the synchronized one.


- Vinay

Check out my other blogs

http://internetpatrol.blogspot.com
http://vinayknl.blogspot.com

Some useful links
Java Website

No comments: