问题标签 [treemap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 您将使用哪种数据结构:TreeMap 或 HashMap?(爪哇)
说明 | 一个 Java 程序,用于读取文本文件并按字母顺序打印每个唯一单词以及该单词在文本中出现的次数。
程序应该声明一个类型的变量Map<String, Integer>
来存储单词和相应的出现频率。但是,哪种具体类型?TreeMap<String, Number>
还是HashMap<String, Number>
?
输入应转换为小写。
单词不包含以下任何字符:\t\t\n]f.,!?:;\"()'
示例输出 |
备注 | 我知道,我已经在 Perl 中看到了用大约两行代码来解决这个问题的优雅解决方案。但是,我想在 Java 中看到它。
编辑:哦,是的,使用其中一种结构(在 Java 中)显示实现会很有帮助。
java - Java 的 TreeMap put() 方法的奇怪行为
我有以下代码,它将向量拆分为字符串向量(用作键)和最后的整数(用作值)。
有问题的 TreeMap 是使用具有以下方法的 Comparator 构造的,该方法强制执行字典、大小写无关的排序,该排序也考虑了长度(较长的向量总是比较短的向量“更大”)。
现在,对于这个问题......尽管正在读取的文本文件中有 8 个条目,但地图最多只能获得 2 个条目。一旦输入了一个条目(键),它就会保留,但值会随着扫描过程的每次迭代而改变(每次它从文件中的一行读取一个新向量)。它会抛出除两个之外的所有其他键。
这是我的比较器的问题吗?或者 TreeMap 是否在用 put() 做一些我不理解的事情?
c# - C# 中的 Java TreeMap 等价物?
我咨询过的大多数地方都说要使用 SortedList,但问题是我正在移植的程序实际上使用了重复的键(按顺序区分),这是 TreeMap 允许的,但 SortedList 不允许。
有什么建议吗?
java - 获取 TreeMap 键集子集的简单方法(在 Java 中)
是否可以从 TreeMap 中提取前 n 个(我使用 top 因为我相信 TreeMap 已排序)关键元素,而无需使用 Iterator 对象进行迭代。
我可以进行迭代,但必须检查空值等很乏味。
java - 在 Java 中存储国家代码、名称和大陆的最佳方式
我想要一个List
或Array
某种,存储有关每个国家/地区的信息:
- 2个字母代码
- 巴西等国名
- 世界各大洲/地区,如东欧、北美等。
我将手动将每个国家/地区分类为区域/大陆(但如果存在自动执行此操作的方法,请告诉我)。这个问题是关于如何存储和访问国家的。例如,我希望能够检索北美的所有国家/地区。
我不想使用本地文本文件等,因为该项目将使用 Google Web Toolkit 转换为 javascript。但是存储在 Enum 或其他某种资源文件中,将其与其他代码分开,这才是我真正想要的。
python - 在实践中可以使用“TreeDict”(或 Treemap)做什么?
我正在用 Python 开发一个“TreeDict”类。这基本上是一个 dict,它允许您按排序顺序检索其键值对,就像 Java 中的 Treemap 集合类一样。
我已经根据关系数据库中唯一索引的使用方式实现了一些功能,例如,让您检索与一系列键对应的值的函数,按排序顺序大于、小于或等于特定值的键、字符串或按排序顺序具有特定前缀的元组等。
不幸的是,我想不出任何需要这样的课程的现实生活问题。我怀疑我们没有在 Python 中对 dicts 进行排序的原因是,在实践中,它们并不经常被要求值得,但我想被证明是错误的。
你能想到“TreeDict”的任何具体应用吗?这种数据结构能最好地解决任何现实生活中的问题吗?我只想确定这是否值得。
java - J2ME 没有找到我的 java.util.TreeMap 实现
我正在尝试什么
我正在尝试java.util.TreeMap
在 J2ME 应用程序中使用。我知道它TreeMap
存在于 J2SE 但不存在于 J2ME 上,因此我已努力将 J2SE 6.0 移植TreeMap
到 J2ME 1.2 并将其包含在我的 Midlet Jar 中。这涉及移植一半的集合框架,但现在我(理论上)已经完成了它并想要测试它。
错误
但是当我在 SUN J2ME SDK 3.0 模拟器 (DefauldClclPhone2) 上启动我的应用程序时,我得到了这个异常:
在真实设备上,我得到"Error in Application"
但看不到实际的异常,因为我现在没有匹配的 SDK。
这个错误有什么奇怪的
我对我的申请成功通过预验证过程感到困惑。我总是经历过缺失的课程(几天前我有很多)会触发预验证器中的错误。所以我得出结论,在成功预验证后,设备上不能有任何东西NoClassDefFoundError
。
细节
我的 jar 中的目录结构如下所示:
我还确保它TreeMap.class
是 Java 1.2 类文件格式。
我的目标是 CDLC 1.0 和 MIDP 1.0,所以我的预验证器正在使用类路径${wtk.home}/lib/cldc_1.0.jar, ${wtk.home}/lib/midp_1.0.jar
只是一个想法:在 J2ME 类加载器中是否有任何特殊检查阻止它从应用程序 jar加载一个java.util.*
或类?java.lang.*
我从来没有听说过,但也许他们做了这样的事情作为安全功能?
结论与解决方案
正如 Joachim Sauer 指出的那样,java.*
如果我定义了类,类加载器将不会加载它们。所以我不得不把它们移到另一个包,实际上是com.companyname.j2meport.java.util
. 虽然我自己的代码可以从那里导入这些类,但对于引用 java.util.TreeMap 的闭源第三方库来说,这不是一个选项。
我终于设法使用Retrotranslator 的扩展机制将这些引用更改为我自己的类,这是我已经在构建过程中使用的工具,但我并不完全了解它的功能。
我的 J2SE 库依赖于其他 J2SE 库,现在可以在 J2ME 上运行!
java - 如何遍历 TreeMap?
可能重复:
如何遍历地图中的每个条目?
我想遍历 a TreeMap
,并且对于所有具有特定值的键,我希望将它们添加到新的TreeMap
. 我怎样才能做到这一点?
java - Java:SortedMap、TreeMap、Comparable?如何使用?
我有一个对象列表,我需要根据其中一个字段的属性对其进行排序。我听说 SortedMap 和 Comparators 是最好的方法。
- 我是实现 Comparable 与我正在排序的类,还是创建一个新类?
- 如何实例化 SortedMap 并传入 Comparator?
- 排序是如何工作的?它会在插入新对象时自动对所有内容进行排序吗?
编辑: 这段代码给了我一个错误:
(Ktr 实现Comparator<Ktr>
)。Eclipse 说它期待类似的东西TreeMap<K, V>
,所以我提供的参数数量不正确。