Java изменить индекс строки в матрице 2D

Я пытаюсь создать матрицу на java, в которой хранятся наборы данных. Я хочу построить матрицу 2D, где строка представляет дни года, а столбцы представляют часы дня. Это моя матрица:

int [][] dataset = new int [366] [27] ; 

Я хочу, чтобы строки были проиндексированы с помощью MyLocalDate.hashcode () вместо int 0, 1 ... 365 Однако я хочу получить доступ к моим конкретным данным в матрице, например:

int data  = dataset [ MyLocalDate.hashcode() ][ 10 ] ; 

array здесь не будет хорошим вариантом, вам следует выбрать Map.

Aniket Sahrawat 16.03.2018 12:00

да, я работаю с несколькими наборами данных, можно ли изменить индекс массивов?

Chayma Sakouhi 16.03.2018 12:04
можно ли изменить индекс массивов. В Java нет ассоциированных массивов, таких как php, если вы хотите использовать индекс 1000th, вам нужно будет определить массив как new T[1000], и ваш 999 будет бесполезен. Если вы хотите отобразить obj.hashcode(), это должно быть как минимум элементы 10000000. Нет смысла создавать такой большой массив. Вам следует выбрать Map.
Aniket Sahrawat 16.03.2018 12:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проверьте этот код ... он покажет номер текущего дня.

Например: 20 марта 2018 -> День 79 года.

21 марта 2018 -> День года 80.

благодаря этому, я надеюсь, вы сможете понять, как решить вашу проблему.

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class DayOfYear 
{
    public static void main(String args[])
    {
       Calendar localCalendar = Calendar.getInstance(TimeZone.getDefault());
       int CurrentDayOfYear = localCalendar.get(Calendar.DAY_OF_YEAR);
       System.out.println("Day of Year: " + CurrentDayOfYear);
       Calendar gmtCalendar = 
       Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    }
}

edit: кажется, есть гораздо лучшие способы сделать это в java 8. проверьте эту ссылку

Спасибо за вашу помощь

Chayma Sakouhi 21.03.2018 10:09

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