:confused:
Hi,
I have this homework to do and I have to solve a method called:
public Collection toCollection(). Here is what i solved so far:

final class InventorySet {
private Map _data;
int thesize;
InventorySet() {
// TODO
_data = new HashMap();
}

/**
* Return the number of Records.
*/
public int size() {
// TODO
thesize = _data.size();
return thesize;
}
/**
* Return a copy of the records as a collection.
* Neither the underlying collection, nor the actual records are returned.
*/
public Collection toCollection() {
// Recall that an ArrayList is a Collection.
// TODO
}

Thank you very much for your help
Dounia

>Here is what i solved so far
Nice, you managed to write a bit of framework, but none of the solution at all. Be more specific about what the homework entails and I might help.

Step 1: what do you have?
Step 2: what do you want to have?
Step 3: how do you get from the data in step 1 to the data in step 2?

It's really really simple, you have a set of data and want to transform that into another set containing the same data.

Look at the API docs of Map. You'll find a method there that helps you a lot.
That's all I'll tell you, because it's all the help one can give you without writing the actual code which I'm definitely not going to do.

Thank you both for your suggestions. Here is what i came up with so far. Iam on the right track???
public Collection toCollection() {
// Recall that an ArrayList is a Collection.
// TODO
ArrayList list = new ArrayList();

String val;
Iterator i = _data.values().iterator();
while (i.hasNext())
{
val = (String) i.next();
list.add (val);
}
Collection copyList = list;
ArrayList c = new ArrayList(copyList);

return c;
}
Thank you for your help

Have you looked at the API docs for List and Map?
You can do what you did in 1 line of code (or 2 if you write it out in a rather verbose syntax which teachers might want).

:)
Hi,
Thank you Jwenting for the info. I looked at the Map interface doc and I found a method called Collection values() and as a comment it is saying: @return a collection view of the values contained in this map. Is this the method you've been talking about?? Well, it look similar to the method that the teacher is asking to complete but I am still confused on what to do in this method!!
Could please help??
Thank you
Dounia

:)
Hi Jwenting

Thank you very much for your help, never mind my previous message. I went to HashMap and I found the implementation of public Collection values()
Here it is:

public Collection values() {
        Collection vs = values;
        return (vs != null ? vs : (values = new Values()));
    }
this helps a lot. It is almost similar to what i did previously so, I am chaning the code to:
public Collection toCollection() {
// Recall that an ArrayList is a Collection.
// TODO 
ArrayList c = new ArrayList(_data);
Collection copyList = c;
return copyList;
}

Thank you for your help and for reminding me to check the Map inteface doc and that reminded me to check Hashmap.

Edited 3 Years Ago by happygeek: fixed formatting

This article has been dead for over six months. Start a new discussion instead.