Java HashMap,以列表形式返回键和值
我有一个家庭作业要做,所以我已经完成了脚本,但问题是与价值观 主要代码是(由于作业原因,我无法更改): hashmap是:Java HashMap,以列表形式返回键和值,java,data-structures,Java,Data Structures,我有一个家庭作业要做,所以我已经完成了脚本,但问题是与价值观 主要代码是(由于作业原因,我无法更改): hashmap是:{abc=2,def=2,ghi=1} 和列表:Map list=newhashmap() 如果您知道任何解决方案,请帮助我。我想现在您已经了解了键集和值集,接下来的任务是了解入口集。这是Map.Entry项的集合,这些项依次由键和值组成 这正是您完成任务所需要的-只需在映射的入口集上迭代,同时将值和键的串联添加到结果列表中: result.add(entry.getKey(
{abc=2,def=2,ghi=1}
和列表:
Map list=newhashmap()代码>
如果您知道任何解决方案,请帮助我。我想现在您已经了解了键集
和值集
,接下来的任务是了解入口集
。这是Map.Entry
项的集合,这些项依次由键和值组成
这正是您完成任务所需要的-只需在映射的入口集
上迭代,同时将值和键的串联添加到结果列表中:
result.add(entry.getKey() + " " + entry.getValue());
请注意,如果使用常规的HashMap
,则结果中的项目不会按任何特定顺序排列。您需要更改此行:
List<String> keyList = new ArrayList<String>(list.keySet());
List keyList=newarraylist(List.keySet());
致:
//首先创建新列表
List keyList=新列表();
//遍历映射并将键+''+值作为文本插入
foreach(list.keySet()中的字符串项)
{
添加(项+“”+列表[项]);
}
返回键列表;
我已经有一段时间没有编写java了,所以可能会出现编译器错误,但这个想法应该很有效,最简单的方法是创建ArrayList并添加@dasblinkenlight所说的
Iterator<?> it = list.entrySet().iterator();
while (it.hasNext()) {
@SuppressWarnings("rawtypes")
Map.Entry maps = (Map.Entry) it.next();
lista.add(maps.getKey() + " " + maps.getValue());
}
}
public List<String> getResult() {
List<String> temp = lista;
return temp;
}
Iterator it=list.entrySet().Iterator();
while(it.hasNext()){
@抑制警告(“原始类型”)
Map.Entry maps=(Map.Entry)it.next();
添加(maps.getKey()+“”+maps.getValue());
}
}
公共列表getResult(){
List temp=lista;
返回温度;
}
如果要按键的顺序迭代映射条目,请使用有序映射:
Map<String, Integer> map = new TreeMap<String, Integer>();
Map Map=newtreemap();
然后添加您的条目,并打印:
for (Map.Entry<String, Ibteger> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
for(Map.Entry:Map.entrySet()){
System.out.println(entry.getKey()+“”+entry.getValue());
}
能否显示整个代码段?你的问题不清楚。帮助你理解令人困惑的家庭作业的最佳人选是你的导师。我们很难知道你知道多少,或者你的导师想教你什么。充其量,这里的人可能会给你一些有用的代码,但你的指导老师可以帮助你理解。我只是想,除了制作另一个列表,还有机会使用相同的方法。@Potar你想要的字符串列表在地图中不存在,所以你必须自己制作。另一方面,如果您想要一个列表
,可以通过返回新的ArrayList(map.entrySet())
“免费”获得它。
Iterator<?> it = list.entrySet().iterator();
while (it.hasNext()) {
@SuppressWarnings("rawtypes")
Map.Entry maps = (Map.Entry) it.next();
lista.add(maps.getKey() + " " + maps.getValue());
}
}
public List<String> getResult() {
List<String> temp = lista;
return temp;
}
Map<String, Integer> map = new TreeMap<String, Integer>();
for (Map.Entry<String, Ibteger> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}