package cn.zifangsky.base;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class PopAirportDemo {
public static void main(String[] args) throws Exception {
// 读文件
BufferedReader reader = new BufferedReader(
new FileReader(new File("C:/Users/Administrator/Desktop/airport.txt")));
String temp = "";
List airportCodes = new ArrayList(); // 城市三字码集合
while ((temp = reader.readLine()) != null) {
airportCodes.add(temp);
}
reader.close();
Map countMap = new HashMap(); //
//遍历List形成键值对
for (String code : airportCodes) {
if (!countMap.containsKey(code)) {
countMap.put(code, 1);
} else {
countMap.put(code, countMap.get(code) + 1);
}
}
// 排序
List> list = new ArrayList>(countMap.entrySet());
Collections.sort(list, new Comparator>() {
//自定义排序
public int compare(Entry o1, Entry o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
List result = new ArrayList(); //热门城市集合
int point = 0;
for (Map.Entry mapping : list) {
// System.out.println(mapping.getKey() + " -> " +
// mapping.getValue());
result.add(mapping.getKey());
point++;
//这里取5个热门城市
if (point >= 5)
break;
}
System.out.println(result);
}
}