我是Java的初学者,我很难理解为什么我会收到错误。我有一个.csv文件,其中包含加拿大的城市,省份和人口。我一直在尝试读取文件,然后通过键/值对将PROVINCE和POPULATION值放入HashMap(cana)。我创建了一个HashSet(加拿大)来拆分.csv,如果可能的话我想保持原样。
我的问题是关于cana.add(provSet,pop1)。我在“put”周围找到了“找不到符号 - 方法添加(java.util.Set)错误,我无法弄清楚原因。有人可以帮我理解我做错了什么吗?既然我是初学者,非常感谢额外的解释!
String filename = "canada.csv";
try
{
BufferedReader br = new BufferedReader(new FileReader("canada.csv"));
String line = null;
HashSet<String> canada = new HashSet<String>();
HashMap<Set<String>, Set<Integer>> cana = new HashMap<Set<String>, Set<Integer>>();
while((line=br.readLine())!=null) {
String city = line.split(",")[0];
canada.add(city);
String province = line.split(",")[1];
canada.add(province);
Set<String> provSet = new HashSet<String>(Arrays.asList(province));
String population = line.split(",")[2];
canada.add(population);
int p = new Integer(population);
Set<Integer> pop1 = new HashSet<Integer>(Arrays.asList(p));
cana.add(provSet, pop1); //ERROR
//Trying to find the most populated province
String maxProvince = "";
int maxProvPop = 0;
for(String province : cana.keySet()) {
int provPop = cana.get(province);
System.out.println(population);
if( provPop > maxProvPop )
{
maxProvPop = provPop;
maxProvince = province;
}
System.out.println("The most populated province is " + maxProvince + " with a population of " + maxProvPop);
}
答案 0 :(得分:0)
我认为你混淆了HashSet
和HashMap
的方法。您对add
使用HashSet
方法,put
使用HashMap
方法。