Java 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(

我有一个家庭作业要做,所以我已经完成了脚本,但问题是与价值观

主要代码是(由于作业原因,我无法更改):

hashmap是:
{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());
}