我将创建一个以 rowIndex、colIndex 和 value 作为列的表,其中 rowIndex 和 colIndex 将是 主键。
这将是 SQLite 实现:
PRAGMA foreign_keys=ON;
BEGIN TRANSACTION;
CREATE TABLE data(
rowIndex INTEGER,
colIndex INTEGER,
val INTEGER,
PRIMARY KEY (rowIndex, colIndex)
);
CREATE UNIQUE INDEX index ON data (rowIndex, colIndex);
INSERT INTO data VALUES(rowIndex, colIndex, arr[rowIndex][colIndex]);
现在在您的 Java 代码中,您必须循环遍历整个数组并一个接一个地相加。
这里我给你一个在表格中添加单个像素的示例方法:
public void addEntry(int rowIndex, int colIndex, double val) {
if(rowIndex < 0 || colIndex < 0) return;
String itemsSql = "INSERT INTO data(rowIndex, colIndex, val) VALUES(?,?,?)";
Connection connection = getConnection();
try {
PreparedStatement itemsCmd = connection.prepareStatement(itemsSql);
//Load
itemsCmd.setInt(1, rowIndex);
itemsCmd.setInt(2, colIndex);
itemsCmd.setDouble(3, val);
//Execute
itemsCmd.executeUpdate();
} catch (Exception e) {
ErrorDialog.show(e);
}
}
你可以这样使用它:
double[][] values;
addEntry(0, 0, values[0][0]);
或者在循环的帮助下,您可以获得索引来完成这项工作:)
如果有帮助请告诉我:)