Tag: 字典

Java中是否存在一个到期的映射,它会在* first * insertion之后的一段时间后到期?

我试着看一下缓存机制,比如Guava的Cache 。 它们的到期时间仅为自上次更新以来。 我正在寻找的是一个数据结构,它存储密钥并在第一次插入后经过一段时间后清理密钥。 我计划将价值作为一些反击。 一个场景可能是一个沉默的工作者,它第一次做了一些工作但是在一段有效期内保持沉默 – 即使工作被要求。 如果在到期时间之后要求工作,他将完成工作。 知道这样的数据结构吗? 谢谢。

要映射的Java流

我遇到Map<Integer, List> personenPerLeeftijd ,编译器说方法Persoon :: getLeeftijd无法解析。 我真的不知道我还能做什么,抱歉荷兰语! 我还需要更多信息请问 public class TestPersoon2 { public static void main(String[] args) { final List personen = Personen.getPersonen(); Map map = personen.stream().collect(Collectors.toMap(p -> p.getNaam() + “-” + p.getLeeftijd(), p -> p)); for (String s : map.keySet()) { System.out.printf(“%-15s -> %s\n”, s, map.get(s)); } Map<Integer, List> personenPerLeeftijd = personen.stream().collect(Collectors.groupingBy(Persoon::getLeeftijd)); //THIS METHOD […]

Lambda填充地图

我试图用一个单词和它们的出现次数来填充地图。 我正在尝试写一个lambda来做它,就像这样: Consumer wordCount = word -> map.computeIfAbsent(word, (w) -> (new Integer(1) + 1).intValue()); map是Map 。 如果它不存在,它应该只是将地图中的单词作为键插入,如果它存在,它应该将其整数值增加1.这个语法不正确。

Java:将JSON结构反序列化为Map

我有一个JSON字符串,我想转换为Map结构,其中Object是基本类型的Java版本(即String,Int,Double),Map。 或者一份清单。 我用于测试的示例字符串是: “{\”cases\”:[{\”documents\”:[{\”files\”:[{\”name\”:\”a.pdf\”}]}]}]}” 这应该是一个案例数组,每个案例都有一个文档数组,每个文档都有一个文件数组,每个文件都有一个名称 我试过Google的Gson,但是 Gson gson = new Gson(); List<Map> results = gson.fromJson(dictString, List.class); 给我: com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@561777b1 failed to deserialize json object {“cases”:[{“documents”:[{“files”:[{“name”:”a.pdf”}]}]}]} given the type interface java.util.List 我试过jackson,但是 List<Map> results = (List<Map>) new ObjectMapper().readValue(dictString, List.class); 给我: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.List out of START_OBJECT token at [Source: java.io.StringReader@1c5aebd9; […]

单词是否在字典中

我试图看一下单词是否在字典中。 有没有办法做到这一点?

字典类

Java字典类中是否可以为单个键设置多个值?

Java映射和基元

我想创建一个映射,它将String作为键,将基元作为值。 我正在查看Java文档,并没有看到Primitive是一个类类型,或者他们共享某种包装类。 如何将值约束为原语? Map map = new HashMap();

在java中使用HashMap的主要好处是什么?

在我正在看的这个Java项目中,我一直在看HashMap的代码,就像这样 /** imageID –> image map */ Map imgs = new HashMap(); 然后在课堂上: // images loadImages(); actualImage = imgs.get(this.DEFAULT_IMAGE_ID); JLabel label = new JLabel(actualImage); 这段代码的目的是什么? 我对这整个概念都很模糊。

Swing JxMapViewer:专注于一个对象并设置相应的缩放级别

我试图将JxMapViewer集成到我的swing应用程序中。 我在地图上画了两条路之间的一条线。 现在我希望实现如下function: 无论我在地图上的哪个位置,无论设置任何缩放级别,每当我点击按钮(或某个外部事件)时,焦点都应该移动到我绘制的线条(即间接在两个航点上) 其次,应设置缩放级别,使得包含这两个航点的地图部分应该是可见的。 我看到我们在JxMApViewer类中有getViewportBounds方法。 同样,我们没有setViewportBounds 。 在这种情况下,我们可以计算出一个包含这两个航点并设置它的矩形。 任何提示将不胜感激 我将现有的calculateZoomFrom方法修改为: int zoom = mainMap.getZoom(); Rectangle2D inner = generateBoundedRectangleForLine(positionSet, mainMap.getZoom()); int count = 0; Rectangle outer = mainMap.getViewportBounds(); while(!outer.contains(inner) || (outer.contains(inner) && !(inner.getHeight() >= mainMap.getHeight() – 50))) { Point2D center = new Point2D.Double( inner.getX() + inner.getWidth()/2, inner.getY() + inner.getHeight()/2); GeoPosition px = mainMap.getTileFactory().pixelToGeo(center,zoom); mainMap.setCenterPosition(px); count++; […]

是否存在使用equals方法进行密钥检查的地图?

我想将数据存储在地图中,关键是unicity,但我希望地图使用我的密钥类的equals方法。 似乎HashMap不使用equals方法(我可能错了,如果是这样我的测试是错误的)。 我的问题是地图使用hashCode来检查重复,我想要一个使用equals的地图实现。 我将时间戳存储在密钥中,并且如果时间戳差异不超过定义的量(假设1000毫秒),则希望使2个密钥等于。 编辑:代码 public class CleanKey { private DateTime start; private DateTime end; public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((end == null) ? 0 : end.hashCode()); result = prime * result + ((start == null) ? 0 : start.hashCode()); return […]