Pirr
Pirr

Reputation: 123

Multiple type array

I am working with an array and need some help. I would like to create an array where the first field is a String type and the second field is an Integer type. For result:

Console out

a  1
b  2
c  3

Upvotes: 9

Views: 46418

Answers (6)

chalimartines
chalimartines

Reputation: 5653

Object [] field = new Object[6];
field[0] = "a";
field[1] = 1;
field[2] = "b";
field[3] = 2;
field[4] = "c";
field[5] = 3;
for (Object o: field)
  System.out.print(o);

Upvotes: 1

ollins
ollins

Reputation: 1849

    Object[] myArray = new Object[]{"a", 1, "b", 2 ,"c" , 3};

    for (Object element : myArray) {
        System.out.println(element);
    }

Upvotes: 1

Filip
Filip

Reputation: 1531

An array can only have a single type. You can create a new class like:

Class Foo{
   String f1;
   Integer f2;
}

Foo[] array=new Foo[10];

You might also be interested in using a map (it seems to me like you're trying to map strings to ids).

EDIT: You could also define your array of type Object but that's something i'd usually avoid.

Upvotes: 20

Neil
Neil

Reputation: 5780

Object[] randArray = new Object [3]; 
randArray[0] = new Integer(5);
randArray[1] = "Five";
randArray[2] = new Double(5.0);

for(Object obj : randArray) {
    System.out.println(obj.toString());
}

Is this what you're looking for?

Upvotes: 1

try using Vector instead of Array.

Upvotes: -4

npinti
npinti

Reputation: 52205

You could create an array of type object and then when you print to the console you invoke the toString() of each element.

Object[] obj = new Object[]{"a", 1, "b", 2, "c", 3};
for (int i = 0; i < obj.length; i++)
{
    System.out.print(obj[i].toString() + " ");
}

Will yield:

a 1 b 2 c 3

Upvotes: 10

Related Questions