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
?将元素添加到列表<Map.Entry <Integer,Integer >>
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
?将元素添加到列表<Map.Entry <Integer,Integer >>
你在做什么是错误的,你宣布你的列表为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。
这只是我粗略的假设。用户没有澄清他想做的事情。但为了你的缘故,让我更新它。 – KyelJmD
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>
直接,或提供自己的匿名实现。
更好的解决方案是定义自己的类来表示键值对。
你是什么意思? –
openTimes.add(新条目(???)) –
你想做什么?为什么要在条目本身中存储条目的列表索引?这完全没用! – isnot2bad