我是新来的,不要在开始时杀了我。 我的代码应该创建学生并计算他的毕业平均分。 在尝试添加另一名学生之前,一切都还可以。 来自主地图的关键字不同,但来自innerMap的主题的平均值被覆盖。
如果我创造的学生很少,那么他们每个人都有不同的名字(主要)但是平均水平相同(最近我加了)。
我正在以这种方式创建HashMaps:
Map<String, HashMap<String, Double>> mainMap = new HashMap<String, HashMap<String, Double>>();
Map<String, Double> innerMap = new HashMap<String, Double>();
我用这个地图创建了我的类的实例来获取静态访问:
private static AvgLists instance = new AvgLists();
public static mapClass getInstance() {
return instance;
}
在另一个类中,我创建了在map中添加值的方法:
innerMap.put(subject, grade);
mainMap.put(key, innerMap);
mainMap的键是带有姓名和学生姓氏的字符串。
另外,我为我的语言道歉。 谢谢你的时间!
答案 0 :(得分:1)
很难从你的代码中分辨出来,但由于 @Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
sharedPreference.removeFavorite(cartActivity.this, favorites.get(position));
favorites.remove(position);
refreshDisplay();
Toast.makeText(cartActivity.this, "Success Remove",Toast.LENGTH_SHORT).show();
return true;
}
似乎都是字段,所以你可能只为所有学生使用一张地图。您需要为每个学生创建新地图:
Map