草庐IT

备战2024秋招面试题-HashMap和Hashtable(附联想笔试真题)

前言:\textcolor{Green}{前言:}前言:💞快秋招了,那么这个专栏就专门来记录一下,同时呢整理一下常见面试题💞部分题目来自自己的面试题,部分题目来自网络整理给我冲学习目标:面试题:算法题:完成?学习目标:HashMap和Hashtable联想笔试:作者得分面试题:HashMap和Hashtable线程是否安全:HashMap是非线程安全的,HashTable是线程安全的。因为HashTable内部的方法基本都经过synchronized修饰。(如果你要保证线程安全的话就使用ConcurrentHashMap);效率:因为线程安全的问题,HashMap要比HashTable效率高一

java - 如何对 <Integer, MyObject> map 进行排序

我有这样的map:Mapmap=newHashMap();MyEntry是:publicclassMyEntry{privateStringtitle;privateStringvalue;publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.title=title;}publicStringgetValue(){returnvalue;}publicvoidsetValue(Stringvalue){this.value=value;}}将值放入map后,我想对其进行排序。第一个元素最小,最后

java - 如何使用 Lambda 表达式填充 HashMap

有一个类(SomeOrders),它有几个字段,如Id,Summary,Amount,等等……要求是从输入List中收集Id作为键和Summary作为HashMap的值SomeOrder对象。java8之前的代码:Listorders=getOrders();Mapmap=newHashMap();for(SomeOrderorder:orders){map.put(order.getId(),order.getSummary());}如何在Java8中使用Lambda表达式实现同样的功能? 最佳答案 使用Collectors.to

Java将Hashmap放入Treemap

如前一个问题所述,我目前正在从一个文本文件中读取200万行JavaFastestwaytoreadthroughtextfilewith2millionlines现在我将这些信息存储到HashMap中,我想通过TreeMap对其进行排序,因为我想使用ceilingkey。以下方法是否正确?privateHashMaphMap=newHashMap();privateTreeMaptMap=newTreeMap(hMap); 最佳答案 HashMaphashMap=newHashMap();TreeMaptreeMap=newTree

java - 在 Java 中,我可以声明一个 HashMap 常量吗?

我正在编写一个简单的程序,将数字转换为表示该数字的单词(13=>“十三”)。我意识到我可以用这样的常量字符串数组获取一些单词:privatestaticfinalString[]tensNames={"","ten","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};...并使用索引访问它,但我想用这样的HashMap尝试它:finalHashMaptensNumberConversion=newHashMap();tensNumberConversion.put(2,"twenty");ten

Java:创建一个 HashMap 列表

我试图创建一个map列表。在下面的代码中,我希望得到[{start=1,text=ye},{start=2,text=no}]但是,我只得到了[{start=2,text=no},{start=2,text=no}]如何避免覆盖第一张map?这是我的代码:HashMapmMap=newHashMap();ArrayListlist=newArrayList();list.add(newHashMap());mMap.put("start",1);mMap.put("text","yes");list.add(mMap);mMap.put("start",2);mMap.put("tex

java - 在 Hashmap 中重新散列

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.7年前关闭。Improvethisquestion影响HashMap的初始容量和负载因子两个参数表现。默认负载因子(.75)在时间和空间成本之间提供了很好的权衡。较高的值会减少空间开销,但会增加查找成本。当一个项目被添加到HashMap,根据其hashCode派生的值将其分配给桶和HashMap的桶大小.要识别任何桶,哈希映射使用key.hashCode()并执行一些操作:Bucket(index)=HashMap.indexFor(HashMap.ha

Java多对多关联映射

我有两个类,ClassA和ClassB,以及一个“多对多”AssociationClass。我想要一个包含A和B之间关联的结构,以便我可以找到A或B的每个实例的对应项。我想到了使用带有成对键的Hashmap:Hasmap,AssociationClass>associations;这样,我可以在ClassA和ClassB的两个实例之间添加和删除关联,并且我可以查询两个给定实例的关系。但是,我错过了为ClassA或ClassB的给定实例定义所有关联的功能。我可以通过蛮力并遍历map的所有键来搜索给定实例之间的关联,但这是低效且不优雅的。您是否知道支持此功能的任何数据结构/免费库?我不想重

java - 无法从 Sun 文档中理解哈希表的泊松部分

我想了解HashMap在Java中是如何实现的。我决定尝试理解该类(class)的每一行(代码和注释),显然我很快就遇到了阻力。以下片段来自HashMap类并讨论了泊松分布:Ideally,underrandomhashCodes,thefrequencyofnodesinbinsfollowsaPoissondistribution(http://en.wikipedia.org/wiki/Poisson_distribution)withaparameterofabout0.5onaverageforthedefaultresizingthresholdof0.75,althoug

java - Java 8 中对 HashMap 哈希函数的更改

在java8java.util.Hashmap中我注意到一个变化from:staticinthash(inth){h^=(h>>>20)^(h>>>12);returnh^(h>>>7)^(h>>>4);to:staticfinalinthash(Objectkey){inth;return(key==null)?0:(h=key.hashCode())^(h>>>16);从代码中可以看出,新函数是低16位与高16位的更简单的XOR,而高16位保持不变,这与之前实现中的几个不同的移位相反,从评论中可以看出,这在将低位冲突次数较多的哈希函数结果分配到不同的桶时效率较低,但通过减少操作节省