【问题标题】:Matrix representation in JavaJava中的矩阵表示
【发布时间】:2013-06-10 20:19:37
【问题描述】:

我有一个如下格式的稀疏矩阵:

rowName(String) colName(String) value(float)

在制表符分隔的文本文件中。我想将此格式转换为以下格式:

rowIndex(Integer) colIndex(Integer) value(float)

【问题讨论】:

  • 您想将其加载到数据结构中还是将其写回到新文件中?您能否举一个文件内容的(小)示例。
  • 能否提供输入和预期输出的示例。

标签: java matrix sparse-matrix


【解决方案1】:

您可以使用 TLongFloatHashMap 例如

final TLongDoubleHashMap matrix = new TLongDoubleHashMap();

public void set(int x, int y, double value) {
    long key = ((long) x << 32) + y;
    matrix.put(key, value);
}

public double get(int x, int y) {
    long key = ((long) x << 32) + y;
    return matrix.get(key);
}

如何将字符串转换为整数取决于您。没有标准的方法可以做到这一点,因为您必须知道映射应该是什么才能使矩阵运算有意义。

【讨论】:

  • TLongDoubleHashMap/TLongFloatHashMap 不是 Java 运行时库的一部分,而是 Trove 的一部分,您可以通过 trove.starlight-systems.com 获得它
猜你喜欢
  • 1970-01-01
  • 2016-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-13
  • 1970-01-01
  • 2013-03-18
  • 2017-05-10
相关资源
最近更新 更多