如何创建树状图来存储关键字及其计数及其文档 ID



我打算存储来自wiki转储的关键字。如何创建树状图来存储关键字及其计数和找到该关键字的文档 ID。另外,我想存储是否找到正文,信息框,参考部分等。

我无法为它提供正确的数据结构。

理论上你可以

使用多个TreeMap,但是似乎有一个专用的值类将是更好的解决方案。类似的东西

public class KeyWordInfo {
    public enum Location {BODY, INFO_BOX; REF_SECTION};
    private int count = 0;
    private String documentId;
    private Set<Location> locations;
    public KeyWordInfo(int count, String documentId, Location... locations) {
        this.count = count;
        this.documentId = documentId;
        this.locations = EnumSet.of(locations);
    }
    //...getters, maybe setters
}
//usage
Map<String, KeyWordInfo> keyWordMap = new TreeMap<>();
keyWordMap.put("test", new KeyWordInfo(42,"doc0815",BODY,INFO_BOX));

如果我理解正确,您想创建一个存储关键字信息的地图。首先,您可以使用字符串作为键和任何对象类型作为值来创建映射:

Map<String, Object> myMap = new TreeMap<String, Object>();
myMap.put("myKey", new Object());

然后,如果需要,您可以将值类型"Object"更改为可以定义的新类,其中包含所需的所有值作为成员(count,documentId,locationFound等)

然后,地图的声明将是:

int count = 1;
String documentId = "myDocId";
String locationFound = "body";
Map<String, MyClass> myMap = new TreeMap<String, MyClass>();
myMap.put("myKey", new MyClass(count, documentId, locationFound));

最新更新