如何创建一个 TreeMap 来存储关键字及其计数和文档 ID
How do I create a TreeMap to store a keyword with its count and it's document id
我打算存储来自 wiki 转储的关键字。如何创建一个 TreeMap 来存储关键字及其计数和找到它的文档 ID。另外,我想存储是否找到正文、信息框、参考部分等。
我无法为其提供正确的数据结构。
理论上您可以使用多个 TreeMap
,但使用专用值 class 似乎是更好的解决方案。像
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" 更改为您可以定义的新 class,将您需要的所有值作为成员(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));
我打算存储来自 wiki 转储的关键字。如何创建一个 TreeMap 来存储关键字及其计数和找到它的文档 ID。另外,我想存储是否找到正文、信息框、参考部分等。
我无法为其提供正确的数据结构。
理论上您可以使用多个 TreeMap
,但使用专用值 class 似乎是更好的解决方案。像
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" 更改为您可以定义的新 class,将您需要的所有值作为成员(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));