Link to home
Start Free TrialLog in
Avatar of pdlarue
pdlarue

asked on

How To - multi dimensional ArrayList of 2 ArrayLists ????

Experts:

What's the (best) way/syntax to create an Array/ArrayList/List that consists of 2 ArrayLists?  
Example:

List<someObject> oldObject = new ArrayList<someObject>();
List<someObject> newObject = new ArrayList<someObject>();
// do stuff
// I want to return a Array/ArrayList/List containing
// List<someObject> oldObject, List<someObject> newObject
// something like this:  someObject[][] = new someObject[oldObject.size][newObject.size];
Anybody know how to do that?
Avatar of sciuriware
sciuriware

     ArrayList[] a2 = new ArrayList[2];
      a2[0] = new ArrayList<String>();
      a2[1] = new ArrayList<String>();

JAVA refuses to create a generic 2 dimensional List-family,

List<String>[] = new ArrayList<String>()[];  // Is not possible.

;JOOP!
I meant:

List<String>[] = new ArrayList<String>()[2];  // Is not possible.

;JOOP!
Avatar of pdlarue

ASKER

OK.  Is it possible to create a multi-dimensional array that contains 2 ArrayLists?
Avatar of pdlarue

ASKER

Is it possible to use multidimensional HashMap?  Something like this:

myHashMap.put (key, object1, object2);
Think: what would be the result of

        myHashMap.get(someKey) ??

It IS possible on the contrary to create a HashMap of HashMap's:

       HashMap<String, HashMap<String, MyObject>> h2 = new HashMap<String, HashMap>();

now you can:

       h2.put(thisKey, new HashMap<String, MyObject>());

;JOOP!
Avatar of pdlarue

ASKER

OK.  Your answers are great.  I know if anyone can point me in the right direction you can.  I may not be phrasing the question quite right.  This is the result I want.  Do you know of any way to do this?

newCustomer[0], oldCustomer[0]
newCustomer[1], oldCustomer[1]
newCustomer[2], oldCustomer[2]
newCustomer[3], oldCustomer[3]
newCustomer[4], oldCustomer[4]

   OR   (if HashMap is necessary)

"0",newCustomer[0], oldCustomer[0]
"1",newCustomer[1], oldCustomer[1]
"2",newCustomer[2], oldCustomer[2]
"3",newCustomer[3], oldCustomer[3]
"4",newCustomer[4], oldCustomer[4]


I am trying to bundlie this up in an Array or HashMap or something from the server-side code and send to the client-side code.  The gui developer is using Flex, which has the ability to get multiple objects in the same iteration (just like the first group of objects listed above).  Since this is a comparison between the old object and the new object (to include properties) the ListArrays will be the same size.

If you can tell me how to do this I'll bump up the points to 500.  Thank you for your help.
A HashMap stores relations from 1 key to only 1 object.

You can of course put the next 'hidden' class at the bottom of your source:

class CustomerPair
{
     Customer oldC;
     Customer newC;

     public CustomerPair(Customer o, Customer n)
     {
          oldC = o;
          newC = n;
     }
}


now you can use code like this (ONLY IN THIS CLASS ABOVE THE HIDDEN CLASS!):

HashMap<String, CustomerPair> links = new HashMap<String, CustomerPair>();

// and:

links.put("Jensen", new CustomerPair(new Customer(p), new Customer(q)));

// Not very beautiful but it's a workable solution.
// And, please, don't praise me too much; I'm just an old programmer ..................

;JOOP!
ASKER CERTIFIED SOLUTION
Avatar of sciuriware
sciuriware

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of pdlarue

ASKER

Thank you.  I'll give it a try.
Thanks, you gave me a promotion.

;JOOP!