调用类中包含的hashmap值(Java)方法
库类:调用类中包含的hashmap值(Java)方法,java,collections,hashmap,call,Java,Collections,Hashmap,Call,库类: protected void printDetails() { String loan = checkLoan(onLoan); System.out.println(title + " with item code " + itemCode + " has been borrowed " + timesBorrowed + " times."); System.out.prin
protected void printDetails()
{
String loan = checkLoan(onLoan);
System.out.println(title + " with item code " + itemCode + " has been borrowed " + timesBorrowed + " times.");
System.out.println("This item is at present " + loan + " loan and when new cost " + cost + " pence.");
System.out.println();
}
旧版本printalItems()方法可用于为存储在ArrayList中的每个元素调用printDetails()方法:
private ArrayList<LibraryItem> itemList; // it declares an ArrayList of LibraryItem type
----
public void printAllItems()
{
System.out.println("Library Item\n");
for (LibraryItem libraryItem : itemList)
{
libraryItem.printDetails();
}
System.out.println("\n==================");
System.out.println("There are " + itemList.size() + " items");
}
如何在新版本中调用printDetails()?您可能只是在寻找
for (LibraryItem libraryItem : itemMap.values()) {
libraryItem.printDetails();
}
(T varName:collection){}构造的
可用于在任何集合上循环itemMap.values()
返回一个集合。它不是一个ArrayList,但这很好。您可以使用简单的集合#forEach
方法,该方法只需对值()的每个对象调用printDetails
itemMap.values().forEach(LibraryItem::printDetails)
你想要达到的目标是什么,因为你似乎只需要做itemMap.values().forEach(LibraryItem::printDetails)
但我觉得这不是你真正想要的,对吧?我建议你学习for
和while
循环。
for (LibraryItem libraryItem : itemMap.values()) {
libraryItem.printDetails();
}