请用java 写个小型列式数据库的demo
下面是一个使用Java编写的小型列式数据库的示例代码:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class ColumnarDatabase {
private Map<String, Map<String, List<Object>>> table;
public ColumnarDatabase() {
table = new HashMap<>();
}
public void createTable(String tableName) {
table.put(tableName, new HashMap<>());
}
public void addColumn(String tableName, String columnName) {
table.get(tableName).put(columnName, null);
}
public void insert(String tableName, Map<String, Object> row) {
Map<String, List<Object>> columns = table.get(tableName);
for (String columnName : row.keySet()) {
if (columns.containsKey(columnName)) {
List<Object> values = columns.get(columnName);
if (values == null) {
values = new ArrayList<>();
columns.put(columnName, values);
}
values.add(row.get(columnName));
}
}
}
public void select(String tableName, String columnName) {
Map<String, List<Object>> columns = table.get(tableName);
if (columns.containsKey(columnName)) {
List<Object> values = columns.get(columnName);
System.out.println("Table: " + tableName + ", Column: " + columnName);
for (Object value : values) {
System.out.println(value);
}
} else {
System.out.println("Column does not exist.");
}
}
}
public class Main {
public static void main(String[] args) {
ColumnarDatabase db = new ColumnarDatabase();
db.createTable("Students");
db.addColumn("Students", "Name");
db.addColumn("Students", "Age");
Map<String, Object> row1 = new HashMap<>();
row1.put("Name", "John");
row1.put("Age", 25);
Map<String, Object> row2 = new HashMap<>();
row2.put("Name", "Jane");
row2.put("Age", 30);
db.insert("Students", row1);
db.insert("Students", row2);
db.select("Students", "Name");
db.select("Students", "Age");
}
}
这个示例代码实现了一个简单的列式数据库,其中包含了创建表、添加列、插入数据和查询数据的功能。在main函数中,我们创建了一个名为"Students"的表,并添加了两个列:"Name"和"Age"。然后插入了两条数据,并分别使用select方法查询了"Name"和"Age"列的数据。输出结果如下:
Table: Students, Column: Name
John
Jane
Table: Students, Column: Age
25
30
请根据实际需求进行修改和扩展
原文地址: http://www.cveoy.top/t/topic/iYh5 著作权归作者所有。请勿转载和采集!