标签: treemap

如何迭代TreeMap?

可能重复:
如何迭代Map中的每个条目?

我想迭代a TreeMap,并且对于具有特定值的所有键,我希望将它们添加到新的TreeMap.我怎样才能做到这一点?

java collections treemap

133
推荐指数
3
解决办法
27万
查看次数

您将使用哪种数据结构:TreeMap或HashMap?(JAVA)

说明| 一种Java程序,用于读取文本文件并按字母顺序打印每个唯一单词以及单词在文本中出现的次数.

程序应该声明一个类型的变量Map<String, Integer>来存储单词和相应的出现频率.但是哪种具体类型呢?TreeMap<String, Number>还是HashMap<String, Number>

输入应转换为小写.

一个单词不包含以下任何字符: \t\t\n]f.,!?:;\"()'

示例输出|

 Word            Frequency
  a                 1
  and               5
  appearances       1
  as                1
         .
         .
         .
Run Code Online (Sandbox Code Playgroud)

备注| 我知道,我已经在Perl中看到了大致两行代码的优雅解决方案.但是,我想在Java中看到它.

编辑:哦,是的,使用这些结构之一显示实现是有帮助的(在Java中).

java hashmap map treemap data-structures

53
推荐指数
3
解决办法
9万
查看次数

Java列表排序:有没有办法让列表像TreeMap一样自动排序?

在Java中,您可以构建一个ArrayList包含项目,然后调用:

Collections.sort(list, comparator);
Run Code Online (Sandbox Code Playgroud)

无论如何在列表时传递比较器,创建就像你可以做的那样TreeMap

目标是能够将一个元素添加到列表中,而不是将其自动附加到列表的末尾,列表将根据其自身排序Comparator并将新元素插入由该列表确定的索引处Comparator.因此,基本上列表可能必须对添加的每个新元素进行重新排序.

无论如何,Comparator通过这种方式或通过其他类似手段实现这一目标?

java sorting collections list treemap

35
推荐指数
5
解决办法
6万
查看次数

从Java中的Map中选择随机键和值集

我想从Map获取随机密钥及其各自的值.这个想法是随机生成器会选择一个键并显示该值.棘手的部分是键和值都是字符串,例如myMap.put("Geddy", "Lee").

java random dictionary hashmap treemap

32
推荐指数
1
解决办法
4万
查看次数

什么时候应该在PriorityQueue上使用TreeMap,反之亦然?

似乎它们都让你检索最小值,这是我对Prim算法所需要的,并强制我删除并重新插入一个键来更新它的值.使用一个优于另一个是否有任何优势,不仅仅是这个例子,但一般来说?

java priority-queue treemap

29
推荐指数
6
解决办法
1万
查看次数

基于Red-Black树的JAVA中TreeMap实现的解释

我在JAVA中浏览TreeMap的源代码.根据JAVA doc:

基于红黑树的NavigableMap实现.地图根据其键的自然顺序进行排序,或者根据使用的构造函数在地图创建时提供的比较器进行排序.

此实现为containsKey,get,put和remove操作提供有保证的log(n)时间成本.算法是Cormen,Leiserson和Rivest的算法导论中的算法的改编.

在源代码中,我发现内部类条目被用作节点.

static final class Entry<K,V> implements Map.Entry<K,V> {
        K key;
        V value;
        Entry<K,V> left = null;
        Entry<K,V> right = null;
        Entry<K,V> parent;
        boolean color = BLACK;
        ....
Run Code Online (Sandbox Code Playgroud)

至于红黑树的定义.从维基百科我发现:

红黑树是一种自平衡二叉搜索树,是计算机科学中使用的数据结构.

通过用两种颜色中的一种(这些通常称为"红色"和"黑色",因此树的名称)绘制每个节点来提供自平衡,使得得到的绘制树满足某些属性.使它变得非常不平衡.修改树时,随后重新排列新树并重新绘制以恢复着色属性.这些属性的设计使得这种重新排列和重新着色可以有效地进行.

我试图分析源代码,但无法理解以下内容:

  1. 假设我已经在树中有两个键"C"和"E",然后我添加"D".如何安排节点(使用自然排序).

  2. 如何在Java源代码中实现Tree的自我平衡.

我尝试搜索TreeMap的详细实现,但无法找到任何文章,例如我为HashMap找到的以下文章

从昨天起我就挂在这棵树上了:(有人可以帮我下楼......

java treemap red-black-tree

27
推荐指数
1
解决办法
2万
查看次数

Java TreeMap Comparator

我需要一个TreeMap的比较器.我应该在我的TreeMap的构造函数中匿名写这个吗?我怎么能写我的比较器.目前,Java不喜欢我的代码(我可以匿名执行此操作吗?):

SortedMap<String, Double> myMap = 
    new TreeMap<String, Double>(new Comparator<Entry<String, Double>>()
    {
        public int compare(Entry<String, Double> o1, Entry<String, Double> o2)
        {
            return o1.getValue().compareTo(o2.getValue());
        } 
    });
Run Code Online (Sandbox Code Playgroud)
  1. 我可以匿名进行上述操作吗?
  2. 我怎么能这样做?
  3. 我想通过Value而不是Key对myMap进行排序

java treemap comparator sortedmap

25
推荐指数
2
解决办法
10万
查看次数

为什么没有并发的TreeMap?

我有一些与java.util.concurrent包有关的问题:

  1. 为什么在java API中,一方存在非并发TreeMap,另一方存在并发 ConcurrentSkipListMap

  2. 他们为什么不叫呢ConcurrentTreeMap?说a SkipListMap包含一个TreeMap?是否安全?

例如,非并发HashMap有其并发对应物ConcurrentHashMap.为什么不会发生TreeMap

java concurrency treemap

24
推荐指数
2
解决办法
2万
查看次数

从C#服务器端,无论如何生成树形图并保存为图像?

我一直在使用这个javascript库在网页上创建树形图,效果很好.现在的问题是我需要将它包含在我在服务器端生成的powerpoint演示文稿中(我使用aspose.slides为.net生成powerpoint )

我想到的最简单的事情是尝试以某种方式在服务器上构建树形图并保存为图像(因为将图像添加到powerpoint演示文稿中非常简单)但在谷歌搜索后,我没有看到任何来自C#服务器端的解决方案可以生成树图作为图像.

这样的事情存在于我可以从服务器端C#app创建树图作为图像的地方.

c# asp.net-mvc image treemap

22
推荐指数
3
解决办法
1305
查看次数

使用自定义Comparator在Java中创建SortedMap

我想TreeMap用Java 创建一个自定义排序顺序.需要根据第二个字符对作为字符串的排序键进行排序.值也是字符串.

示例地图:

Za,FOO
Ab,Bar
Run Code Online (Sandbox Code Playgroud)

java sorting string treemap comparator

21
推荐指数
1
解决办法
4万
查看次数