在 Java 树状图中查找元素位置
2022-09-02 01:07:44
我正在使用 Strings 的 TreeMap,并用它来实现单词的 Dictionay。TreeMap<String, String>
然后,我有一个文件集合,并希望在字典定义的向量空间(单词空间)中创建每个文件的表示形式。
每个文件都应该有一个向量来表示它,具有以下属性:
- 矢量应具有与字典相同的大小
- 对于文件中包含的每个单词,矢量应该在对应于字典中单词位置的位置中具有1
- 对于文件中未包含的每个单词,矢量应该在与字典中的单词位置相对应的位置有一个 -1
所以我的想法是使用 a 来实现这些向量。(这种表示集合中文档的方式称为布尔模型 - http://www.site.uottawa.ca/~diana/csi4107/L3.pdfVector<Boolean>
)
我在创建此向量的过程中遇到的问题是,我需要一种方法来查找字典中单词的位置,如下所示:
String key;
int i = get_position_of_key_in_Treemap(key); <--- purely invented method...
1)有没有这样的方法可以在树图上使用?如果不是,你能提供一些代码来帮助我自己实现它吗?
2)TreeMap上是否有迭代器(按键的字母顺序排序),我可以获得位置?
3)最终我应该使用另一个类来实现字典吗?(如果你认为使用TreeMaps,我无法做我需要的事情)如果是,哪个?
提前致谢。
新增部分:
dasblinkenlight提出的解决方案看起来很好,但存在复杂性问题(由于将键复制到数组中,因此与字典的尺寸呈线性关系),并且为每个文件执行此操作的想法是不可接受的。
对于我的问题还有其他想法吗?