Tag: sortedmap

在Java TreeMap中查找元素位置

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

Java的。 按值排序地图

可能重复: 如何在Java中的值上对Map 进行排序? 我需要像TreeMap这样排序的地图,但按值排序。 我的地图将是巨大的,所以我不能随时对我的地图进行排序。 是否存在解决此问题的良好解决方案? 也许存在符合此要求的外部jar子?

使用TreeMap时Java“无法转换为Comparable”

可能重复: Java:SortedMap,TreeMap,Comparable? 如何使用? 我正在使用Java JungI图形包和Netbeans 7.我从Java得到以下错误: Exception in thread “main” java.lang.ClassCastException: graphvisualization.MyVertex cannot be cast to java.lang.Comparable at java.util.TreeMap.put(TreeMap.java:542) 以下是与错误相关的代码: SortedMap vMap = new TreeMap(); double curRank = 0; for(MyVertex v: g.getVertices()) //g is a SparseGraph { curRank = vertexRank.getVertexScore(v); vMap.put(v, curRank); //**Here is my Error** } MyVertex类是我为图表制作的一个类。 以下是MyVertex的代码 public class MyVertex { int vID; […]

如何使用预先排序的数据初始化TreeMap?

我的应用程序使用TreeMap来保持数据排序并具有log(n)查找和插入。 这在应用程序运行时的一般情况下效果很好,但是当应用程序首次启动时,我需要初始化TreeMap,其中有几百万个长整数,我按排序顺序 (升序)。 由于这些初始化值已经排序,有没有办法将它们插入TreeMap而不支付树插入和重新平衡的log(n)成本?

Java:SortedMap,TreeMap,Comparable? 如何使用?

我有一个对象列表,我需要根据其中一个字段的属性进行排序。 我听说SortedMap和Comparators是最好的方法。 我是否正在对我正在排序的类实现Comparable,还是创建一个新类? 如何实例化SortedMap并传入Comparator? 排序如何工作? 它会在插入新对象时自动对所有内容进行排序吗? 编辑:此代码给我一个错误: private TreeMap collection = new TreeMap(); (Ktr实现Comparator )。 Eclipse说它期待类似TreeMap ,所以我提供的参数数量不正确。