У меня есть запрос, на который я хотел бы получить ваше мнение. Я сохранил в ArrayList() вызванные поездки, которые включают в себя регистрацию FlightNo (String), страну (String), людей (int) и другую в HashMap (float, String), называемую расстояниями, где String является страной и float - это расстояние. Я хочу сравнить две коллекции (путем проверки адресата), и если у них одинаковый вывод, где я получаю рейсNo, пункт назначения, расстояние, людей и другой атрибут (рассчитанный с расстояния и пассажиров).TreeMap <String, ArrayList <String>> специфическая печать/сортировка
У меня есть вход как ArrayList (TRIPS), в котором тот же flightNo может пойти в разные страны
No Country People
AB12 France 100
CD23 UK 120
AB12 Italy 80
FR45 Italy 45
SE56 Sweden 120
FR34 Norway 125
CD23 Poland 200
NM89 Romania 100
KL78 Bulgaria 125
Другой вход, как HashMap (поплавок, String), в котором поплавок расстояние и струнный это country.It выглядит следующим образом:
Country Distance
France 900.45 miles
UK 1200.32 miles
Italy 1010.34 miles
Sweden 1500.89 miles
Norway 140.12 miles
Poland 700.98 miles
Romania 600.21 miles
Bulgaria 1035.23 miles
Так что я хочу, чтобы проверить в соответствии с назначением и получить выход, как этот
No Country People Distance fuelConsumption(distance * people)
CD23 UK 120 1200.32 miles 1000 (i.e)
AB12 Italy 80 1010.34 miles 800
FR45 Italy 45 1010.34 miles 500
SE56 Sweden 120 1500.89 miles 340
FR34 Norway 125 140.12 miles 310
CD23 Poland 200 700.98 miles 250
NM89 Romania 100 600.21 miles 100
KL78 Bulgaria 125 1035.23 miles 90
Итак, я добрался до того места, где у меня есть все эти данные, хранящиеся в TreeMap (String, ArrayList), которые называются деталями, где у меня есть ключ к странам и поместили всю информацию, которую я хочу в значениях этой TreeMap, как ArrayList of Strings.
Я не знаю, как получить выход в хорошем формате, а во-вторых, получить/распечатать первые три и три последних пункта относительно потребления топлива.
Это код, который я написал, и возвращает мне данные TreeMap, где я получаю значения и хочу как-то печатать.
public Map<String, TreeSet<String>> getDetails()
{
for (Float distance : destinations.keySet())
{
String destinations = destinations.get(distance);
for (Journeys j : journeys) {
String places = j.getDestination();
if (destinations.equals(places)) {
*//destinationsList is a TreeSet<String>*
destinationsList = details.get(destinations);
if (destinationsList == null) {
destinationsList = new TreeSet<String>();
}
destinationsList.add((j.getFlight() + " "
+ j.getCountry() + " " + distance
+ "miles" + " " + j.getPeople()
+ " " + j.getFuelConsumption(distance))
+ "\n");
details.put(destinations, destinationsList);
}
}
}
return details;
}
в destinationsList.add я попытался дать хороший формат, когда я вступал значения, но не luck.And и я не знаю, если я должен хранить их другим способом, чтобы получить I объяснил первую и последнюю три записи в отношении FuelConsumption.Sorted за счет топлива вместо сортировки в настоящее время в соответствии с странами, как они это сделали.
спасибо, что заблаговременно !!