На данный вопрос уже ответили:
Допустим мы имеем Map<Integer, Integer[]> и нам надо воспользоваться toString.
Тут и проблема: нам возвращают совсем не ту строку, что можно ожидать.
Например:
Map<Integer, Integer[]> mp = new HashMap<Integer, Integer[]>();
mp.put(1, new Integer[]{1, 2});
mp.put(2, new Integer[]{2, 3});
mp.put(3, new Integer[]{3, 4});
out.println(mp.toString());
Так нам выводит {1=[Ljava.lang.Integer;@7852e922, 2=[Ljava.lang.Integer;@4e25154f, 3=[Ljava.lang.Integer;@70dea4e} вместо более ожидаемого {1=[1, 2], 2=[2, 3], 3=[3, 4]}. И вроде как логично, но совсем не то что нам надо.
Что делать, чтобы получить что хочется? Явно есть решение, которое не есть обработка структуры вручную.
К сожалению, в Java у массивов примитивных типов не переопределён метод toString. Поэтому к ним применяется метод, содержащийся в классе Object. Этот метод, конечно, не знает, как нужно выводить массивы. Однако специальный метод для этого есть в классе Arrays. Поэтому вы можете создать свой класс, который будет содержать массив целых чисел с переопределённым методом toString.
Например, вот так:
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
Map<Integer, IntegerArray> mp = new HashMap<Integer, IntegerArray>();
mp.put(1, new IntegerArray(1, 2));
mp.put(2, new IntegerArray(2, 3));
mp.put(3, new IntegerArray(3, 4));
System.out.println(mp);
}
}
class IntegerArray {
int[] array;
IntegerArray(int... array){
this.array = array;
}
@Override
public String toString(){
return Arrays.toString(array);
}
}
Вывод будет:
{1=[1, 2], 2=[2, 3], 3=[3, 4]}
В Java toString для массивов не выводит их значения, а всего лишь показывает объект в текстовом представлении. Для получения значений массива нужно воспользоваться методом toString класса Arrays. Соответственно, для вашего примера достаточно:
for(Map.Entry<Integer,Integer[] > entry : mp.entrySet())
{
System.out.print(entry.getKey());
System.out.println(Arrays.toString(entry.getValue()));
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей