相关疑难解决方法(0)

Hashmaps,Treemaps和LinkedHashmaps如何在Java中工作?

我对地图有各种疑问:

  1. 迭代Hashmap时,无法保证迭代顺序.那为什么呢?
  2. 为什么Hashmaps比Treemaps更快?
  3. LinkedHashMaps如何运作,他们如何维护订单?是因为它们有一个双向链表,其中包含有关在条目之前和之后存储哪个条目的信息?

我一直在阅读API文档,但由于我是初学者,在编程方面我很难理解它.

java hashmap treemap linkedhashmap

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

按键排序HashMap?

我有HashMap以下条目:

关键 - 狗对象 价值 - 狗的描述

Map<Dog, List<String>> DogsAndDescriptions;
Run Code Online (Sandbox Code Playgroud)

我想通过"Oldest Dog First"来命令HashMap .

狗是一个Entity具有以下字段,我想订购:

 @Column(name = "BIRTHDAY")
    @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
    private DateTime birthday;
Run Code Online (Sandbox Code Playgroud)

有可能这样做吗?

java spring entity hashmap

1
推荐指数
1
解决办法
117
查看次数

谁是java中更快的hashmap.get或treemap.get

在某处,我读到的HashMap.get(object)比它更快TreeMap.get(object).但我的问题是为什么他的速度更快,甚至两者都会在检索时使用散列函数object.

java collections

0
推荐指数
1
解决办法
377
查看次数

为什么使用Hashmap.containsKey比Arrays.binarySearch运行得更快?

我有两个电话号码列表.第一个列表是第二个列表的子集.我在下面运行了两种不同的算法来确定两个列表中包含哪些电话号码.

  • 方式1:
    • 排序第一个列表:Arrays.sort(FirstList);
    • 循环第二个列表找到匹配的元素:如果是Arrays.binarySearch(FistList,'每个第二个列表')那么OK
  • 方式2:
    • 使用键/ valus将第一个列表转换为HashMap('每个第一个列表',Boolean.TRUE)
    • 循环第二个列表以查找匹配的元素:如果FirstList.containsKey('每个第二个列表')则确定

它导致在5秒内运行的Way 2比使用39秒的Way 1更快.我无法理解原因.

感谢您的任何评论.

java arrays sorting algorithm list

-1
推荐指数
1
解决办法
610
查看次数