Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
208 views

Java Collections

Uploaded by

chakri406k
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
208 views

Java Collections

Uploaded by

chakri406k
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 11

1. Which of the following is not a true statement?

a. The Iterator interface declares only three methods: hasNext, next and remove.
b. The ListIterator interface extends both the List and Iterator interfaces.
c. The ListIterator interface provides forward and backward iteration capabilities.
d. The ListIterator interface provides the ability to modify the List during iteration.
e. The ListIterator interface provides the ability to determine its position in the List.
f. None of the above.

b. The ListIterator interface extends both the List and Iterator interfaces.
The ListIterator interface extends the Iterator interface and declares additional
methods to provide forward and backward iteration capabilities, List modification
capabilities and the ability to determine the position of the iterator in the List.

2. Which of the following is a true statement?


a. All implementations of the List interface provide fast random access.
b. A LinkedList provides faster random access than an ArrayList.
c. The LinkedList implements the RandomAccess interface.
d. Each collection that implements the List interface must also implement the
RandomAccess interface.
e. The RandomAccess interface declares methods that use of an index argument to
access elements of the List.
f. The RandomAccess interface declares the next and hasNext methods.
g. None of the above.

None of the above. The RandomAccess interface is a marker interface; so it does not
declare any methods. Its purpose is to provide information about the RandomAccess
capabilities of a List implementation. Generic list algorithms can check to see if an
instance of a List implements the RandomAccess marker interface. If not, then the
algorithm can avoid operations that require fast random access. Both Vector and
ArrayList implement the RandomAccess interface. LinkedList does not
implement RandomAccess.

3. In addition to implementing the List interface, which of the following also provides
methods to get, add and remove elements from the head and tail of the list without
specifying an index?
a. Collection
b. ArrayList
c. LinkedList
d. List
e. Vector
f. None of the above

LinkedList .The LinkedList class provides methods such as addFirst,


addLast, getFirst, getLast, removeFirst and removeLast that facilitate
the implementation of stacks and queues.
4. Which of the following classes would provide the most efficient implementation of a
First In First Out queue?
a. ArrayList
b. LinkedHashMap
c. LinkedHashSet
d. LinkedList
e. HashMap
f. HashSet
g. Hashtable
h. TreeMap
i. TreeSet
j. Vector
k. None of the above

LinkedList .A stack or queue must be implemented using a data structure that stores
the elements based on the order of insertion. Any data structure that is implemented using
a hashtable is not a good choice. The ArrayList and Vector are both implemented
using an internal array. Although an array allows elements to be easily organized based
on the order of insertion, an array does not allow the list of elements to be easily shifted
in memory as elements are appended to the tail of the list and removed from the head of
the list. The LinkedList is implemented using a doubly linked list that allows
elements to be easily appended to the tail of the list, and removed from the head of the
list.

5. Stores key/value pairs.


Allows null elements, keys, and values.
Duplicate entries replace old entries.
The least recently used element can be removed automatically when a new element is
added.
Which of these classes provides the specified features?
a. LinkedHashMap
b. LinkedHashSet
c. LinkedList
d. TreeMap
e. TreeSet
f. HashMap
g. HashSet
h. Hashtable
i. None of the above

LinkedHashMap.The requirement to store key/value pairs is directly satisfied by a


concrete implementation of the Map interface. The List and Set interfaces recognize
objects, but do not recognize keys and values. The requirement to allow null elements is
not satisfied by a Hashtable. The LinkedHashMap offers the option to remove the
least recently used (LRU) element when a new element is added. The LinkedHashSet
does not offer the LRU option.
6. Suppose that you would like to create a new instance of a class that implements the
Map interface, and you would like the new instance to be initialized with the elements of
an existing Map. If you would like the iteration order of the new Map to be the same as
that of the existing Map, then which concrete implementation of the Map interface should
be used for the new instance?
Hashtable
HashSet
HashMap
TreeMap
TreeSet
LinkedHashMap
None of the above.

LinkedHashMap .The iteration order of a Map is the order in which an iterator moves
through the elements of the Map. The iteration order of a LinkedHashMap is
determined by the order in which elements are inserted. When a reference to an existing
Map is passed as an argument to the constructor of LinkedHashMap, the
Collection.addAll method will add the elements of the existing Map to the new instance.
Since the iteration order of the LinkedHashMap is determined by the order of
insertion, the iteration order of the new LinkedHashMap must be the same as the
iteration order of the old Map.

7. Suppose that you would like to create a new instance of a class that implements the Set
interface, and you would like the new instance to be initialized with the elements of an
existing Set. If you would like the iteration order of the new Set to be the same as that of
the existing Set, then which concrete implementation of the Set interface should be used
for the new instance?
Hashtable
HashMap
HashSet
LinkedHashSet
TreeMap
TreeSet
None of the above.

LinkedHashSet.The iteration order of a Set is the order in which an iterator moves


through the elements of the Set. The iteration order of a LinkedHashSet is
determined by the order in which elements are inserted. When a reference to an existing
Set is passed as an argument to the constructor of LinkedHashSet, the
Collection.addAll method will add the elements of the existing Set to the new instance.
Since the iteration order of the LinkedHashSet is determined by the order of
insertion, the iteration order of the new LinkedHashSet must be the same as the
iteration order of the old Set.
8. Each element must be unique.
Contains no duplicate elements.
Elements are not key/value pairs.
Entries are not sorted using a Comparator or the Comparable interface.
The iteration order is determined by the insertion order.
Which of these classes provides the specified features?
HashMap
HashSet
Hashtable
LinkedHashMap
LinkedHashSet
LinkedList
TreeMap
TreeSet
None of the above

LinkedHashSet.The elements of a Map are key/value pairs; so a Map is not a good


choice. A List generally accepts duplicate elements. A Set stores a collection of
unique elements. Any attempt to store a duplicate element in a Set is rejected.
TreeSet stores elements in a sorted order based on the key. HashSet does not sort the
elements based on the key. The iteration order of LinkedHashMap and
LinkedHashSet is clearly defined. By default, the iteration order of
LinkedHashMap and LinkedHashSet is based on the order in which elements were
inserted. While a LinkedHashSet rejects duplicate entries, the LinkedHashMap
allows duplicate entries to replace old entries.

9. import java.util.*;
class GFC114 {
public static void main (String[] args) {
Object a = new ArrayList();
System.out.print((a instanceof Collections)+",");
System.out.print((a instanceof Arrays)+",");
System.out.print(a instanceof List);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above
Prints: false,false,true .The Collections class is not the same as the Collection
interface. The Collections class contains a variety of methods used to work with
collections. For example, Collections.shuffle is used to randomly shuffle the elements of
a Collection. Similarly, the Arrays class provides utility methods for working with
arrays.

10. Stores key/value pairs.


Duplicate entries replace old entries.
Provides constant-time performance for the add, contains and remove operations.
Which of these classes provides the specified features?
a. LinkedHashMap
b. LinkedHashSet
c. LinkedList
d. TreeMap
e. TreeSet
f. HashMap
g. HashSet
h. Hashtable

LinkedHashMap, HashMap, Hashtable. The requirement to store key/value pairs


is directly satisfied by a concrete implementation of the Map interface. The List and
Set interfaces recognize objects, but do not recognize keys and values. The
Hashtable, HashMap and LinkedHashMap classes store elements in a hashtable.
Elements are accessed using a hashcode that identifies the bucket that contains the
element. Access time is therefore not dependent on the number of buckets. As long as the
hashcode methods of the elements are properly implemented, the time required to access
an element in a hashtable remains constant as the number of buckets in the hashtable
grows. In contrast, the TreeMap and TreeSet classes store elements in a sorted order
in a tree structure. Access to any element requires walking the tree; so access time
depends on the size of the tree.

11. Stores key/value pairs.


Does not allow null elements, keys, and values.
Which of these classes provides the specified features?
a. LinkedList
b. LinkedHashMap
c. LinkedHashSet
d. TreeMap
e. TreeSet
f. HashMap
g. HashSet
h. Hashtable
i. None of the above

Hashtable .The requirement to store key/value pairs is directly satisfied by a


Hashtable or any concrete implementation of the Map interface. The List and Set
interfaces recognize objects, but do not recognize keys and values. The requirement to
NOT allow null elements is satisfied by Hashtable, but not by HashMap or any of the
other Collection implementations that were introduced with Java 1.2 and later.

12. Stores key/value pairs.


Allows null elements, keys, and values.
Duplicate entries replace old entries.
Entries are not sorted using a Comparator or the Comparable interface.
The iteration order is unspecified.
Which of these classes provides the specified features?
a. LinkedList
b. LinkedHashMap
c. LinkedHashSet
d. TreeMap
e. TreeSet
f. HashMap
g. HashSet
h. Hashtable
i. None of the above

HashMap. The requirement to store key/value pairs is directly satisfied by a concrete


implementation of the Map interface. The List and Set interfaces recognize objects,
but do not recognize keys and values. The requirement to allow null elements is not
satisfied by a Hashtable. TreeMap and TreeSet store elements in a sorted order
based on the key. The iteration order of LinkedHashMap and LinkedHashSet is
not unspecified. By default, the iteration order of LinkedHashMap and
LinkedHashSet is based on the order in which elements were inserted. Optionally, the
iteration order of the LinkedHashMap can be set to the order in which the elements
were last accessed.

13. Which of the following is a true statement?


a. The Iterator interface declares only two methods: hasMoreElements and
nextElement.
b. The ListIterator interface extends both the List and Iterator interfaces.
c. The ListIterator interface was introduced with Java 1.2 to replace the older
Iterator interface that was released with Java 1.0.
d. The ListIterator interface declares only three methods: hasNext, next and remove.
e. None of the above.

None of the above. The Iterator interface declares three methods: hasNext, next
and remove. The ListIterator interface was introduced in Java 1.2 along with the
Iterator interface. The ListIterator interface extends the Iterator interface
and declares additional methods to provide forward and backward iteration capabilities,
List modification capabilities and the ability to determine the position of the iterator in
the List. The ListIterator interface does not extend the List interface.
14. Which of the following are true statements?
a. The Enumeration interface was introduced with the collections framework with
Java 1.2.
b. The Enumeration interface declares only two methods: hasMoreElements and
nextElement.
c. The Iterator interface extends the Enumeration interface.
d. The Iterator interface declares a total of three methods.

The Enumeration interface declares only two methods: hasMoreElements and


nextElement. The Iterator interface declares a total of three methods.
The Enumeration interface was introduced with Java 1.0 to provide an easy means of
moving through the elements of a Vector or the keys or values of a Hashtable. The
Iterator interface was introduced with the collections framework with Java 1.2. The
Iterator interface declares three methods: hasNext, next and remove. The first
two methods, hasNext and next, are similar to the two methods declared in the
Enumeration interface, hasMoreElements and nextElement. The third method
of the Iterator interface, remove, provides new functionality relative to the
Enumeration interface.

15. Which of the following classes allow elements to be accessed in the order that they
were added?
a. HashMap
b. HashSet
c. Hashtable
d. TreeMap
e. TreeSet
f. LinkedHashMap
g. LinkedHashSet

LinkedHashMap, LinkedHashSet .The HashMap, HashSet and Hashtable


classes are all implemented with an internal hashtable that organizes the elements in
buckets according to the hashcode and not according to the order of insertion. The
LinkedHashMap and LinkedHashSet classes also use an internal hashtable, and
both also maintain a linked list through all of the elements. The order of the list is
determined by the order of insertion. Optionally, the LinkedHashMap can maintain the
order of the list based on the time of the most recent access of each element. The
TreeMap and TreeSet classes are both implemented using a tree structure that is
ordered based on a Comparator or the Comparable interface.

16. import java.util.*;


class GFC118 {
public static void main (String[] args) {
Object i = new ArrayList().listIterator();
System.out.print((i instanceof List)+",");
System.out.print((i instanceof Iterator)+",");
System.out.print(i instanceof ListIterator);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above

Prints: false,true,true .ListIterator extends Iterator

17. import java.util.*;


class GFC117 {
public static void main (String[] args) {
Object i1 = new HashMap(), i2 = new TreeMap();
System.out.print((i1 instanceof SortedMap)+",");
System.out.print((i2 instanceof SortedMap)+",");
System.out.print(i1 instanceof Collection);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above

Prints: false,true,false .Both HashMap and TreeMap are subclasses of type


AbstractMap; so both implement the Map interface. Neither implements the
Collection interface. The TreeMap implements the SortedMap interface, but
HashMap does not.

18. import java.util.*;


class GFC116 {
public static void main (String[] args) {
Object x = new Vector().elements();
System.out.print((x instanceof Enumeration)+",");
System.out.print((x instanceof Iterator)+",");
System.out.print(x instanceof ListIterator);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above

Prints: true,false,false .The Vector.elements method returns an Enumeration over the


elements of the Vector. The Vector class implements the List interface and extends
AbstractList; so it is also possible to obtain an Iterator over a Vector by
invoking the iterator or listIterator method.

19. import java.util.*;


class GFC113 {
public static void main (String[] args) {
Object m = new LinkedHashSet();
System.out.print((m instanceof Collection)+",");
System.out.print((m instanceof Set)+",");
System.out.print(m instanceof HashSet);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above

Prints: true,true,true .LinkedHashSet is a subclass of HashSet; therefore, it is also a


subclass of AbstractSet, and it implements the Collection interface.

20. import java.util.*;


class GFC112 {
public static void main (String[] args) {
Object m = new LinkedHashSet();
System.out.print((m instanceof Collection)+",");
System.out.print((m instanceof Set)+",");
System.out.print(m instanceof List);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above

Prints: true,true,false .LinkedHashSet does not implement the List interface.


LinkedHashSet extends HashSet and implements Collection, Set,
Cloneable and Serializable.

21. import java.util.*;


class GFC111 {
public static void main (String[] args) {
Object m = new LinkedHashMap();
System.out.print((m instanceof Collection)+",");
System.out.print((m instanceof Map)+",");
System.out.print(m instanceof HashMap);
}}
What is the result of attempting to compile and run the program?
a. Prints: false,false,false
b. Prints: false,false,true
c. Prints: false,true,false
d. Prints: false,true,true
e. Prints: true,false,false
f. Prints: true,false,true
g. Prints: true,true,false
h. Prints: true,true,true
i. None of the above

Prints: false,true,true LinkedHashMap does not implement the Collection


interface. LinkedHashMap extends HashMap and implements Map, Cloneable and
Serializable.

22. Entries are not organized as key/value pairs.


Duplicate entries are rejected.
Entries are sorted using a Comparator or the Comparable interface.
Which interface of the java.util package offers the specified behavior?
a. List
b. Map
c. Set
d. SortedSet
e. SortedMap
f. None of the above
SortedSet .The Map interface organizes entries as key/value pairs. A list generally
allows duplicate entries. A Set rejects duplicate entries. The SortedSet is similar to a
Set except that the ordering of the elements is determined by a Comparator or the
Comparable interface.

You might also like