Я пытаюсь создать матрицу на java, в которой хранятся наборы данных. Я хочу построить матрицу 2D, где строка представляет дни года, а столбцы представляют часы дня. Это моя матрица:
int [][] dataset = new int [366] [27] ;
Я хочу, чтобы строки были проиндексированы с помощью MyLocalDate.hashcode () вместо int 0, 1 ... 365 Однако я хочу получить доступ к моим конкретным данным в матрице, например:
int data = dataset [ MyLocalDate.hashcode() ][ 10 ] ;
да, я работаю с несколькими наборами данных, можно ли изменить индекс массивов?
1000th, вам нужно будет определить массив как new T[1000], и ваш 999 будет бесполезен. Если вы хотите отобразить obj.hashcode(), это должно быть как минимум элементы 10000000. Нет смысла создавать такой большой массив. Вам следует выбрать Map.




Проверьте этот код ... он покажет номер текущего дня.
Например: 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. проверьте эту ссылку
Спасибо за вашу помощь
array здесь не будет хорошим вариантом, вам следует выбрать
Map.