Java HashMap 到矩阵

标签 java open-source hashmap metrics

我遇到了一个问题。我使用以下 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/

相关文章:

java - 在给定另一个等效键对象的情况下获取映射条目的当前键

java - 删除 map 条目会导致 map 条目中的对象引用可选更改

arrays - Perl在输入条件之前更改条件内的值?

java - 使用 JavaFX 缩放窗口时自动将程序内容居中

java - 如何预先显示系统上运行的任何软件或应用程序之外的任何消息

java - 如何配置 url 映射以获取对 PrettyFaces/Rewrite 中的一个 jsf 页面的所有 * url 请求

Java - 等待第三方线程完成

python - 对首次 sourceforge 项目贡献者的建议?

open-source - 开源项目建议,何去何从

version-control - 对于开源项目来说,不共享生产设置的好策略是什么?