下面是一个使用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

请根据实际需求进行修改和扩展

请用java 写个小型列式数据库的demo

原文地址: http://www.cveoy.top/t/topic/iYh5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录