草庐IT

java - 当相同的键时添加两个映射的值

寻找Java中的标准库函数方式,用于根据键在两个映射中添加值。MapA:{a=1,b=2}MapB:{a=2,c=3}生成的map:MapC:{a=3,b=2,c=3}我知道这可以用几行编码。我也知道函数式编程对此非常有用。我只是想知道是否有人们在那里使用的标准函数或语法。类似(但可能更通用):publicHashMapaddValues(HashMapa,HashMapb){HashMapret=newHashMap(a);for(Strings:b.keySet()){if(ret.containsKey(s)){ret.put(s,b.get(s)+ret.get(s));}el

java - 如何使用 Java 8 流使用接收两个参数的函数将映射的键+值转换为新值?

我有一个静态方法StringConverter.convert(String,Integer).我还有一张map:Mapmap.我想遍历map并使用convert方法将每个条目转换为字符串,然后继续使用每个转换后的字符串。我可以这样做:map.entrySet().stream().map(e->Converter.convert(e.getKey(),e.getValue()))....;有没有更直观的方法?像下面这样的东西?map.stream(Converter::convert)...???或map.stream((k,v)->Converter.convert(k,v))).

java - 将字符串与 HashMap 中的键值进行比较时忽略大小写

我正在尝试检查我的HashMap键集是否包含字符串“buffSB.toString()”。但我想比较忽略大小写(大写或小写)。staticStringBuilderbuffSB=newStringBuilder();buffSB.append(alphabet);Mappref=newDatamatch().main();//GettingtheHashmapfromotherclassif(pref.containsKey(buffSB.toString()))//ThisiswhereIneedtoignorecasewhilesearchingstringinthemapkeys

java - 如何使用特定的键和值将流分组到 map ?

我有一个Stream>myStream;我想把它聚合成一个Map>result;我设法做到了以下几点:Map>>result=myStream.collect(Collectors.groupingBy(Pair::getKey,Collectors.toSet()));失败并显示“无法从静态上下文引用非静态方法”:Map>result=myStream.collect(Collectors.groupingBy(Pair::getKey,Pair::getValue,Collectors.toSet()));我做错了什么? 最佳答案

java - Cassandra 中的键空间模式导入和导出

我在我的系统上安装了Cassandra1.1.2作为单节点集群,并具有三个键空间:hotel、student和employee.如果可能,我想转储hotel的键空间模式及其列族数据,并在其他Cassandra集群上恢复转储。谁能详细建议我该怎么做? 最佳答案 您可以使用sstable2json和json2sstablecassandra工具查看Datastaxdocumentation同样和this也是Usage:sstable2json[-foutfile][-kkey[-kkey[...]]]Usage:json2sstable

java - 在 HashMap 中使用相同的键存储多个值

今天面试,面试官问我如何在HashMap中存储具有相同键的多个值?她给了我这个例子-->如果给我一个字符串列表,我想将字符串的长度存储为键,将字符串本身存储为值。我给了她以下关于我将如何使用HashMap的解决方案:Map>map=newHashMap>();整数是字符串的长度,ArrayList将存储该特定长度的字符串。面试官说这是使用HashMap的一种方式,但还有另一种方式我不需要ArrayList或任何其他数据结构。在面试期间,我想不出任何解决方案,现在经过足够多的谷歌搜索后,我仍然一无所获。谁能告诉我如何解决这个问题?谢谢! 最佳答案

java - 小服务程序。如果参数的键不唯一,如何获取参数?

在servlet中,我得到键不唯一的POST参数。像这样id=12,id=13,id=14所以我不能使用getParameterMap()来获取这个参数(因为HashMap只包含唯一键)。解决此问题并从POST查询的所有非唯一参数中获取值的最佳方法是什么?谢谢!更新。我无法编辑请求参数(我从其他应用程序检索此参数) 最佳答案 getParameterValues()方法在请求中有多个同名参数时特别有用。getParameterValues()方法返回参数paramName的一个或多个值。这些值以字符串数组的形式返回。如果参数para

java - Guava LoadingCache - 如何处理后备存储中不存在的键

我正在使用CacheBuilder和LoadingCache实现数据库数据的内存缓存。假设客户端在缓存中查询后备存储中不存在的项目。我想让客户端知道没有找到指定键的数据。处理此问题的最佳方法是什么?在缓存中存储特殊值,表示“无数据”。不在缓存中存储任何内容并引发异常。其他想法? 最佳答案 我总是通过以下方式解决这个问题。interfaceKeyValueService{Vget(Kkey);}classCachingKeyValueService{Cache>cache;Vget(Kkey){returncache.get(key)

java - 获取 HashMap 中具有类似 'some value' 的键的键列表

在Mysql中我们可以查询一个有子句“WHEREnameLIKE'%someName%'”的表,我们是否可以在java中拥有与HashMap相同的功能,如果可以,我们如何更有效地实现这一点在更短的时间内不迭代每个元素? 最佳答案 如果您使用的是JavaSE8和新的StreamsAPI:有一个filter我认为这基本上就是您正在寻找的方法。例如类似(未经测试!):myMap.entrySet().stream().filter(entry->entry.getKey().contains("someName")).map(entry-

java - 使用字符串元组作为 HashMap 的键

这个问题在这里已经有了答案:CananarraybeusedasaHashMapkey?(9个回答)关闭9年前。我需要Java等同于以下Python:In[1]:d={}In[2]:k=("x","2")In[3]:d[k]=1In[4]:printd[("x","y")]1Python有可散列的元组。我尝试在Java中执行以下操作但未成功:Mapd=newHashMap();String[]k=newString[]{"x","y"};d.put(k,1);System.out.println(d.get(k));System.out.println(d.get(newString[