Java 从hashmap检索多个值

Java 从hashmap检索多个值,java,collections,hashmap,Java,Collections,Hashmap,数据类包含两个字段price(double)、operator(string),我将数据类作为多个值映射到映射的每个键,如下所示(1) 我无法在代码2中显示。映射到同一键下的所有值 例如,对于Key=1,map的值为Price{0.2,0.3,0.4},运算符:{A,B,C} 此代码的输出,只能向我显示price=0.2,运算符:A为键1。未显示所有其他值。如何解决 1) Map<Integer, ArrayList<Data>> mp = new HashMap<

数据类包含两个字段price(double)、operator(string),我将数据类作为多个值映射到映射的每个键,如下所示(1)

我无法在代码2中显示。映射到同一键下的所有值

例如,对于Key=1,map的值为Price{0.2,0.3,0.4},运算符:{A,B,C}

此代码的输出,只能向我显示price=0.2,运算符:A为键1。未显示所有其他值。如何解决

1) Map<Integer, ArrayList<Data>> mp = new HashMap<Integer, ArrayList <SortData>>();
1)Map mp=newhashmap();
(二)

arraylistls=mp.get(key.get(k));
int i=0;
用于(数据e:ls)
{           
System.out.println(e.getOperator()+e.getPrice());
i++;
}
在地图中添加数据的代码:

enter code here
     ArrayList<Test> list = new ArrayList<Test>();
      Map<Integer,ArrayList<Test>> mp = new HashMap<Integer,ArrayList<Test>>();
       list.add(new Data(0,1,"A"));
    list.add(new Data(0,2,"B"));
     mp.put(1,list);

  List<Test> value = mp.get(1);
  value.add(0.3,"c");
  value.add(0,5,"E");
在此处输入代码
ArrayList=新建ArrayList();
Map mp=新的HashMap();
增加(新数据(0,1,“A”);
增加(新数据(0,2,“B”);
议员:付诸表决(1,名单);
列表值=mp.get(1);
增值(0.3,“c”);
增值(0.5,“E”);

在用于向地图添加值的代码中-编译错误。无法将数据对象添加到ArrayList

您的迭代代码是正确的。所以我相信这些值根本不存在于地图中。因此,请查看所有代码并从列表中删除值。并确保在addvalues代码中向映射中存储的同一实例添加值


然而,为了创建更少的错误电话代码,考虑使用

对于key=1,该值是一个列表:[(价格:0.2,运算符:A),(价格:0.3,运算符:B),(价格:0.4,运算符:C)。您可以在代码中添加数据来填充数据吗?您是对的,现在已经完成了。谢谢,我的输入不正确。
enter code here
     ArrayList<Test> list = new ArrayList<Test>();
      Map<Integer,ArrayList<Test>> mp = new HashMap<Integer,ArrayList<Test>>();
       list.add(new Data(0,1,"A"));
    list.add(new Data(0,2,"B"));
     mp.put(1,list);

  List<Test> value = mp.get(1);
  value.add(0.3,"c");
  value.add(0,5,"E");