List<Map.Entry<Integer,Integer>> openTimes = new ArrayList<Map.Entry<Integer,Integer>>();
for (int i=0; i<_elem.size(); i++)
{
openTimes.add(i,_elem.get(i));
}
如何正确地将元素添加到列表中openTimes
?
List<Map.Entry<Integer,Integer>> openTimes = new ArrayList<Map.Entry<Integer,Integer>>();
for (int i=0; i<_elem.size(); i++)
{
openTimes.add(i,_elem.get(i));
}
如何正确地将元素添加到列表中openTimes
?
你所做的是错误的,你声明了你的列表,List<Map.Entry<Integer,Integer>>
因此当你执行这行代码时openTimes.add(i,_elem.get(i));
,你插入的不是地图。我认为您正在寻找与此类似的东西。你能做的是
我不知道你想在这里做什么,但你可以用这个
//We get the first Map
Map<Integer,Integer> yourMap = _elem.get(0);
for (int i=0; i<_elem.size(); i++)
{
yourMap.put(i,_elem.get(i))
}
或者您也可以使用 dasblinkenlight 的建议。
for (int i=0; i<_elem.size(); i++)
{
Map.Entry<Integer,Integer> entry =
new AbstractMap.SimpleEntry<Integer, Integer>(i,_elem.get(i));
openTimes.add(entry);
}
遍历列表
for (Map.Entry<Integer,Integer> entry : openTimes)
{
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
如果您必须有地图条目,您需要Map
从中获取这些条目。一种方法如下:
Map<Integer,Integer> tmp = new HashMap<Integer,Integer>();
for (int i=0; i<_elem.size(); i++) {
tmp.put(i, _elem.get(i));
}
List<Map.Entry<Integer,Integer>> openTimes =
new ArrayList<Map.Entry<Integer,Integer>>(tmp.entrySet());
您也可以AbstractMap.SimpleEntry<K,V>
直接使用,或提供您自己的匿名实现。
更好的解决方案是定义您自己的类来表示键值对。