Jos*_* C. 2 java foreach for-loop hashmap
我需要在我的方法中迭代HashMap的每个值,但是在每个循环中它给我一个语法错误
Library.java:12:错误:for-each不适用于表达式类型for(String book:library){^必需:数组或java.lang.Iterable找到:HashMap
这是相关代码
public void getFinishedBooks(HashMap<String, Boolean> library)
{
if(library.size()<1)
{
System.out.println("Library is empty!");
}
else
{
for(String book : library)
{
if(library.get(book) ==true)
{
System.out.println(book);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以遍历一组条目:
for (Entry<String, Boolean> book : library.entrySet()) {
if (book.getValue()) {
System.out.println(book.getKey());
}
}
Run Code Online (Sandbox Code Playgroud)
Map.entrySet()返回Set条目(java.util.Map.Entry)。每个条目包含一对带键及其值的对。