/ public void getFinishedBooks(HashMap<String, Boolean> library) {
if (library.size() < 1) {
System.out.println("No books in Library");
} else {
for (String books : library.keySet()) {
**if (library.value == true) {**
如果数据类型为Boolean的Hashmap“value”等于try,我希望运行底部IF语句。我已经尝试过.get(),但那不起作用。
答案 0 :(得分:0)
使用以下代码可以使用
for (String books : library.keySet()) {
if(books != null){
Boolean libValue = library.get(books );
if (libValuetrue) {
//added as per your code
}
}
}
答案 1 :(得分:0)
我没有获取密钥集,而是获得了条目集 - 这意味着您可以迭代键/值对,而不必再次查找每个键。例如,要打印所有具有true
值的图书:
for (Map.Entry<String, Boolean> entry : map.entrySet()) {
if (entry.getValue()) {
System.out.println(entry.getKey());
}
}
如果您的值可能为null,则处理无效:
for (Map.Entry<String, Boolean> entry : map.entrySet()) {
if (TRUE.equals(entry.getValue()) {
System.out.println(entry.getKey());
}
}
答案 2 :(得分:0)
if (library.isEmpty()) {
System.out.println("No books in Library");
} else {
for (String books : library.keySet()) {
if (library.get(books)) {
替代地
for (Entry<String, Boolean> entry : library.entrySet()) {
if (entry.getValue()) {
然而,使用Set<String>
会更理想。
Set<String> library = new HashSet<>();
if (library.contains(...))