我遇到了一个问题。我使用以下 HashMap 来存储一些值
HashMap<String, Object> hm = new HashMap<String, Object>();
该对象是另一个HashMap(是的,你可以说HashMap的HashMap)。 String用于存储书名,Object又是另一个hashmap,用于存储作者姓名和作者数量。所以它看起来像( Xyz book{authname,numberOfAuthors} )。现在我想将此 HashMap 打印为 NxN 矩阵。有没有我可以使用的默认功能?如果没有,那么有人可以告诉我任何提示以简单的方式做到这一点吗?因为我不想使用这么多循环和 if 条件(它会杀死系统)。
谢谢!
最佳答案
看起来您没有充分利用 OO 潜力...您可以创建自己的 Book
类并重写 toString()
来打印所有字段...
public class Book{
private String bookName;
private String authorName;
...
@Override
public String toString() {
return String.format("%s written by %s",bookName,authorName);
}
}
通过这种方式,你的库将类似于:
Map<String, Book> myLibrary = new HashMap<String, Book>(...);
要打印所有库,您将需要一个简单的循环:
for(Book b : myLibrary.values()) {
System.out.println(b);
}
关于Java HashMap 到矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053707/