说明| 一个Java程序,用于读取文本文件,并按字母顺序打印每个唯一字以及该字在文本中出现的次数。 程序应该声明一个Map<String, Integer>types的variables来存储单词和相应的出现频率。 哪个具体types呢? TreeMap<String, Number>或HashMap<String, Number> ? input应该被转换为小写。 一个单词不包含任何这些字符: \t\t\n]f.,!?:;\"()' 示例输出| Word Frequency a 1 and 5 appearances 1 as 1 . . . 备注| 我知道,我已经看到了用Perl几乎两行代码的优雅的解决scheme。 不过,我想看看它在Java中。 编辑:噢,这是有帮助的显示使用这些结构之一(在Java中)的实现。
当给定一个静态的对象集(静态的意义上,一旦加载它很less如果有变化)需要重复的并发查找与最佳性能,哪个更好,一个HashMap或一个二进制search使用一些自定义比较? 答案是对象或结构types的函数吗? 哈希和/或相等的function性能? 哈希唯一性? 列表大小? Hashset集大小/集大小? 我正在看的集合的大小可以从500k到10m的任何地方 – 这些信息是有用的。 当我正在寻找C#答案时,我认为真正的math答案不在于语言,所以我不包括那个标签。 但是,如果有C#特定的东西需要知道,则需要该信息。
我知道在java.util中有一个WeakHashMap,但是因为它使用WeakReferences来处理所有的事情,只有这个Map被引用,所以在下一个GC循环中被引用的对象将会丢失。 所以如果你想要caching随机数据,这几乎是没有用的,而这些数据很可能在没有被其他时间硬连接的情况下再次被请求。 最好的解决scheme是使用SoftReferences的地图,但是我没有在Java RT Package中find它。
什么是我们不能总是使用HashMap的原因,尽pipe它比ArrayList或LinkedList在添加,删除操作方面效率更高,而且不pipe元素的数量如何。 我google了一下,发现了一些原因,但总是有一个使用HashMap的解决方法,其优点仍然存在。
所以我有两个有关Java中的HashMap的问题: 什么是正确的方式来初始化一个HashMap ? 我认为这可能是最好的在我的情况下使用: HashMap x = new HashMap(); 但是Eclipse总是build议我使用: HashMap<something, something> map = new HashMap(); 哪个更好? HashMap将不同types的对象/数据types保存为值吗? 例如,这样做是否行得通: map.put("one", 1); map.put("two", {1, 2}); map.put("three", "hello"); 在第一个put() ,我想要一个int作为值,第二个int[] ,第三个string。 在Java中使用HashMap吗? 另外,将HashMap作为一个值存储在HashMap吗?
我在java中有以下hashmap: B056 = 0.0,A061 = 3.0,A071 = 0.0,B085 = 0.0,B075 = 3.0,B076 = 9.0,B086 = 3.0,B095 = 0.0,B096 = 0.0,A052 = 0.0,B066 = 0.0,B056 = 9.0,B065 = 0.0,B055 = 9.0} 我应该如何sorting哈希映射,使字母,数字后面的数字考虑在内? 得到的哈希映射应该如下所示: {A052 = 0.0,A061 = 3.0,A071 = 0.0,B046 = 0.0,B055 = 9.0,B056 = 9.0,B065 = 0.0,B066 = 0.0,B075 = 3.0,B076 = 9.0,B085 = 0.0,B086 […]
我有一个微不足道的问题:我找不到R中的字典数据结构,所以我用列表来代替(就像“字” – >数字)所以,现在我有问题如何获得键的列表。 有人知道吗?
我试图在Android上searchHashMap,但得到问题: 考虑这个例子: HashMap<String, String> meMap=new HashMap<String, String>(); meMap.put("Color1","Red"); meMap.put("Color2","Blue"); meMap.put("Color3","Green"); meMap.put("Color4","White"); 现在我想迭代它,并获得每种颜色的价值,并希望显示在“吐司”。 我如何显示它? 任何想法。
我需要将所有键和值从一个HashMap复制到另一个B,但不能replace现有的键和值。 最好的办法是做什么? 我在想,而不是迭代keySet,并检查它是否存在,我会的 Map temp = new HashMap(); // generic later temp.putAll(Amap); A.clear(); A.putAll(Bmap); A.putAll(temp);
我是在android开发新手。 在我的Android应用我使用HashMap ,但我得到一个警告: **"Use new SparseArray<String>(…) instead for better performance"** 这是什么意思,我怎样才能使用SparseArray<String>呢?