【发布时间】:2015-02-23 18:54:26
【问题描述】:
我有一个问题想听听您的意见。 我已经存储在一个名为 trips 的 ArrayList() 中,其中包括寄存器 flightNo(String) 、 country(String) 、 people(int) 和另一个在 HashMap(float,String) 中,称为距离,其中字符串是国家和浮点数是距离。我想比较两个集合(通过检查目的地),如果是相同的有一个输出,我得到了 flightNo ,destination,distance ,people 和另一个属性(从距离和乘客计算)。
我有一个像 ArrayList(Trips) 这样的输入,其中同一个航班号可以去不同的国家
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(float, String),其中float是距离,String是国家。看起来像这样:
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
所以我已经将所有这些信息存储在一个名为 details 的 TreeMap (String ,ArrayList) 中,我将国家作为键并将所有我想要的信息放入这个 TreeMap 的值中作为字符串的 ArrayList。
我不知道如何以良好的格式输出,然后获取/打印关于燃料消耗的前三个和最后三个目的地。
这是我编写的代码,它返回 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 中,我在输入值时尝试给出一个很好的格式,但没有运气。而且我不知道我是否必须用另一种方式存储它们以获得我解释的第一个和关于燃料消耗的最后三个条目。按燃料排序,而不是现在根据我所做的国家/地区排序。
非常感谢您!
【问题讨论】:
标签: java sorting printing treemap