java如何将LinkedHasMap值按正确的顺序转换为ArrayList/Array?
我得到LinkedHashMap grades = courses.get(choise).getGrades();
我需要将等级值保存在数组/数组列表中
我可以在循环中获取值和键
String key = "";
String value = "";
for (Object o : grades.keySet()){
key = o.toString();
value = grades.get(o).toString();
}
然后像这样打印出来
System.out.println("Grades: " + value);
示例输出是
Grades:[0, 3, 2, 5, 3]
我的目标是让每个年级在一个数组/列表中分开
# 1 楼答案
首先你要整理的是原始类型:
您需要变量类型上的泛型类型,即使您只是使用
?
:但是如果你知道一个比
?
更具体的类型,你可以使用它——从问题来看,你的键至少是字符串然后:
# 2 楼答案
从网站上找到了解决方案
如果
grades
是一个LinkedHashMap<String, String>
,下面的代码就可以实现这一点代码在
JavaVersion.VERSION_1_8
环境中进行了测试# 3 楼答案
你不必担心订单。无论是从
LinkedHashMap
中获得values()
或keySet()
或entrySet()
,它们中任何一个的迭代顺序都将根据插入LinkedHashMap
的顺序将值放入
List
中非常简单:当然,要做到这一点,你必须将
LinkedHashMap grades
改为LinkedHashMap grades<KeyType,SomeType>