我想传入两个这种类型的参数:Map<String, HashMap<String, Float>,下面的这段代码是有错误的,想要的功能就是取出集合中的值把它放入list集合中,求助正确的写法,急!好人一生平安
public ComputerDecision(Map<String, HashMap<String, Float>> m1,Map<String, HashMap<String, Float>> m2){
List<Float> vector1 = new ArrayList<Float>();
List<Float> vector2 = new ArrayList<Float>();
Set<String> set1 = m1.keySet();
for(String str: set1){
vector1.add(m1.get(str));
}
Set<String> set2 = m2.keySet();
for(String str: set2)
{
vector2.add(m2.get(str)); }
public ComputerDecision(Map<String, HashMap<String, Float>> m1,Map<String, HashMap<String, Float>> m2){
List<Float> vector1 = new ArrayList<Float>();
List<Float> vector2 = new ArrayList<Float>();
Set<String> set1 = m1.keySet();
for(String str: set1){
vector1.add(m1.get(str));
}
Set<String> set2 = m2.keySet();
for(String str: set2)
{
vector2.add(m2.get(str)); }
public void ComputerDecision(Map<String, HashMap<String, Float>> m1,
Map<String, HashMap<String, Float>> m2) {
List<Float> vector1 = new ArrayList<Float>();
List<Float> vector2 = new ArrayList<Float>();
Set<String> set1 = m1.keySet();
for (String str : set1) {
// m1.get(str) 得到的是一个HashMap<String, Float>
HashMap<String, Float> tempMap = m1.get(str);
Set<String> tempSet = tempMap.keySet();
for (String key : tempSet) {
vector1.add(tempMap.get(key)); //tempMap.get(key) 这才是Float的值
}
} Set<String> set2 = m2.keySet();
for (String str : set2) {
HashMap<String, Float> tempMap = m1.get(str);
Set<String> tempSet = tempMap.keySet();
for (String key : tempSet) {
vector2.add(tempMap.get(key));
}
}
}