我打算存储来自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));