我有一个SortedMap<String, SortedMap<String, Integer>>。每个字符串都是一个问题,并附有可能的答案和要点。

如何使用MapsampleArray[0]一样打印问题(第一个,第二个,...)?

最佳答案

您可以遍历地图的一种方法是:

for (String aQuestion : myMap.keySet()) {
    System.out.println(aQuestion)); //Prints each question.
    System.out.println(myMap.get(aQuestion)); //Prints each answer using the same for loop
}

要获得答案,您也可以执行以下操作:
myMap.values();

这将获得具有所有值的Collection,或者根据您的情况提供答案。 Collection有一个toArray()方法,该方法将返回一个普通数组以方便迭代。但是,您也可以使用ArrayList的addAll(Collection c)方法创建一个arraylist。
List<String> myAnswers = new ArrayList<>();
myAnswers.addAll(myMap.values());

10-05 21:00
查看更多