我正在使用StrMap TreeMap< String,String>的TreeMap,并使用它来实现词典.
然后我有一个文件的集合,并且想要在字典定义的向量空间(单词的空格)中创建每个文件的表示.
每个文件应该有一个向量表示它具有以下属性:
>矢量应该具有与字典相同的大小
>对于文件中包含的每个单词,向量应该具有与字典中单词位置相对应的位置的1
>对于文件中不包含的每个单词,向量应该在字典中与单词位置相对应的位置有-1
所以我的想法是使用Vector< Boolean>实施这些载体. (这种在集合中表示文档的方法称为布尔模型 – http://www.site.uottawa.ca/~diana/csi4107/L3.pdf)
我在创建这个向量的过程中面临的问题是我需要一种方法来在字典中查找单词的位置,如下所示:
String key;
int i = get_position_of_key_in_Treemap(key);
1)有没有什么方法可以在TreeMap上使用?如果不能提供一些代码来帮助我自己实现它?
2)TreeMap上有一个迭代器(按字母顺序排列),我可以得到它的位置?
3)最后我应该用另一个类来实现字典吗?(如果你认为使用TreeMaps我不能做我需要的)如果是的,哪个?
提前致谢.
添加零件:
dasblinkenlight提出的解决方案看起来很好,但是具有复杂性的问题(由于将密钥复制到数组中,字典的维度是线性的),并且对于每个文件的做法是不可接受的.
任何其他想法我的问题?