Reputation: 123
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
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
Reputation: 1849
Object[] myArray = new Object[]{"a", 1, "b", 2 ,"c" , 3};
for (Object element : myArray) {
System.out.println(element);
}
Upvotes: 1
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
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
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