/ / Как да получим приблизителни стойности от Списък в Java - java, списък, приблизителен

Как да получите приблизителни стойности от списък в Java - java, списък, приблизително

Чудя се дали някой може да ме насочи надяснопосока. Имам списък с обект, който съдържа информация за различни полети и всеки полет има една дата. Това, което се опитвах да постигна, е да накарам потребителя да избере дата, след което бих повторил списъка, за да се върна полета на тази дата, но и няколко дни по-рано и след това.

може ли някой да ми даде някои съвети за това как да го направя, моля?

Logic -----------

получите полети на тази дата, след това получите полети около тази дата

Благодаря ти

Отговори:

0 за отговор № 1

Когато казвате "около тази дата", трябва да го определите количествено. Колко дни или седмици около датата? Използвайте това, за да създадете горна и долна граница при извличане на данни от списъка.


0 за отговор № 2

Можете да опитате да поставите полетните обекти в карта, където датата е ключ, а стойността е списък на всички полети на тази дата.

Това би означавало, че получаването на полети на определена дата е n (1) и ако приемем, че вашият период е постоянен (x дни), ще направите допълнителни 2x n (1) търсения.

Ако границите ви са безкрайни или потенциално много големи, това вероятно не е начинът.


0 за отговор № 3

Повторете List да получите подробности за полета и да определите диапазон от дата, който искате да получите

List<Flight> flights=new ArrayList<Flight>();
for(Flight f:flights)
{
Date d=f.getDate();
if(d is within the desired range)
{
//your logic in here
}
}

Ако искате логика от нулата това, което можете да направите, е да получите текущото време в millseconds и извадете милисекундите, които се състоят от един ден (т.е. 86400000) от текущото време в milliseconds

 Calendar c= Calendar.getInstance();
System.out.println(c.getTimeInMillis()-86400000);   // This will give the date one day before the current date
Date d=new Date(c.getTimeInMillis()-86400000);
System.out.println(d.toString());