Как поместить двойной массив в двойной массив при добавлении на карту?

Я хочу заполнить HashMap<Integer,Double[]>

Map<Integer,Double[]> cached_weights = new HashMap<Integer,Double[]>();

просто регулярно int а также double[]Какой лучший способ сделать это?

Я вижу этот вопрос, но он отвечает на противоположный вопрос.

1 ответ

Решение

Для ключа (Integer) компилятор будет обрабатывать это автоматически для вас, и вы можете напрямую передать значение int.

Для логического массива вы можете справиться с этим с помощью Java 8

Map<Integer, Double[]> foo = new HashMap<Integer, Double[]>();
double[] bar = new double[10];
//As you can see, 1 is passed directly and will be converted to Integer object.
foo.put(1, Arrays.stream(bar)
            .boxed()
            .toArray(Double[]::new));

boxed Метод DoubleStream возвращает Stream, состоящий из элементов этого потока, упакованный в Double.

Тогда вы получите поток, на который вы можете легко позвонить toArray преобразовать в Double[],

Другие вопросы по тегам