`

java中的集合面试题

阅读更多
Q: What is the Collections API?

A: The Collections API is a set of classes and interfaces that support operations on collections of objects.
集合API时一系列类和接口,用于支持对集合对象的操作。

Q: What is the List interface?

A: The List interface provides support for ordered collections of objects. 
  List接口提供对有序对象集合的操作支持。

Q: What is the Vector class?

A: The Vector class provides the capability to implement a growable array of objects.  
  Vector即向量,可以实现对象数组容量的增加。一般的数组容量是一定的。

Q: What is an Iterator interface?

A: The Iterator interface is used to step through the elements of a Collection .
  用于访问一个集合中的元素的接口,即迭代器。

Q: Which java.util classes and interfaces support event handling?

A: The EventObject class and the EventListener interface support event processing.
 

Q: What is the GregorianCalendar class?

A: The GregorianCalendar provides support for traditional Western calendars 
 

Q: What is the Locale class?

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

Q: What is the SimpleTimeZone class?

A: The SimpleTimeZone class provides support for a Gregorian calendar .
 

Q: What is the Map interface?

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

Q: What is the highest-level event class of the event-delegation model?

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

Q: What is the Collection interface?

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

Q: What is the Set interface?

A: The Set interface provides methods for accessing the elements of a finite mathematical set. Sets do not allow duplicate elements. 
集合不能放入相同的元素。

Q: What is the typical use of Hashtable?

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

Q: 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?

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

Q: What is the difference between the size and capacity of a Vector?

A: 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.
size 是Vector中元素的个数,capacity 是Vector在给定的实例下的最大存储元素个数。

Q: Can a vector contain heterogenous objects?

A: Yes a Vector can contain heterogenous objects. Because a Vector stores everything in terms of Object.
vector 可以放置异质的元素,如可以同时放置Integer和String。 

Q: Can a ArrayList contain heterogenous objects?

A: Yes a ArrayList can contain heterogenous objects. Because a ArrayList stores everything in terms of Object.


Q: What is an enumeration?

A: 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.


Q: Considering the basic properties of Vector and ArrayList, where will you use Vector and where will you use ArrayList?

A: 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.
Vector与ArrayList 不同之处在于,前者是同步的,而后者不是。在多线程访问同一个实例下,可以使用Vector。但是不同步的ArrayList 在性能上会好一些。

Q: Can a vector contain heterogenous objects?

A: Yes a Vector can contain heterogenous objects. Because a Vector stores everything in terms of Object.
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics