我试图找出如何在其中添加一些数据:
Map<String, Queue<Map<Integer, MyObject>>> map1 = new HashMap<String, Queue<Map<Integer, MyObject>>>();
我一直在尝试这样的事情:
map1.put(login, new ArrayBlockingQueue<Map<MyObject>>(500, true);
但我想我完全错了,我会喜欢一些提示和进一步的解释。 谢谢你的帮助。
答案 0 :(得分:3)
您错过了Integer
的{{1}}类型参数。
Map
如果您正在使用Java7 +,您实际上可以跳过隐式类型参数并依赖Java的type-inference功能,这有助于生成可读代码:
map1.put(login, new ArrayBlockingQueue<Map<Integer, MyObject>>(500, true));
答案 1 :(得分:1)
尝试类似:
map1.put(login, new ArrayBlockingQueue<Map<Integer, MyObject>>(500, true));
^^^^^^^ ^(missing closing bracket)
看到你在地图中缺少整数类型。如果您希望为Queue添加值,那么您可以执行以下操作:
Map<Integer, MyObject> myMap = ...;
myMap.put(1, new MyObject...);
map1.get(login).add(myMap);//or can use offer