Tag: 地图

为什么Map不扩展Collection接口

为什么java.util.Map接口没有扩展java.util.Collection接口? java.util.Map不是Key-Value对的集合吗?

合并两个地图

我有两个映射,其键是String s,其值是Set 。 给定两个Map ,合并它们的最简单方法是什么,如果两个键相同,则值是两个集合的并集。 您可以假设值永远不为空,如果它有用,我们可以制作这些Map的SortedMap 。

Javagenerics对map的键和值强制执行相同的类型

我在找什么: 我正在构建一些在地图的键和值上强制执行类型的东西:有点像Map<Key, Value> 。 但是,我还想在每个键/值条目中强制执行类型匹配,但在条目之间 ,不应强制执行任何类型。 例如,在同一个映射中,这些键/值对应被视为有效: Key映射到Value Key映射到Value Key映射到Value 但是,这样的事情将是无效的: Key映射到Value Key映射到Value 如何使用Javagenerics完成此操作? 我不想要的: 我知道我可以实现类似Set东西,其中pair接受相同类型的Key / Value。 但是,按键查看这个不再是一个恒定的时间操作。 我知道我可以执行类似Map<Key, Value>并断言Key和Value在运行时是相同的类型。 但是,我想知道这是否可以严格使用generics。

Map 的任何实现,即两个键?

我需要一个有两个键的地图,例如 Map2 _employees; 这样我就可以 _employees.put(e.ssn(), e.empId(), e) 然后 _employees.get1(someSsn); _employees.get2(someImpId); 甚至 _employees.remove1(someImpId); 我不知道为什么我要停在两个,为什么不多,可能是因为我现在需要的情况就是这样:-)但是类型需要处理固定数量的键是类型安全的 – 类型参数不能是vararg 🙂 感谢任何指针,或建议为什么这是一个坏主意。

Java HashMap重复元素

我想在hashmap上添加重复元素 所以: put(“name1”, 1); put(“name1”, 3); put(“name1”, 3); put(“name2”, 1); put(“name2”, 3); 我怎么能这样做?

Freemarker:如何使用枚举作为键来迭代Map

以下代码不起作用,因为Freemarker似乎将[]中的表达式的值转换为String,然后将其用作键,这不是实际预期的。 准备模板模型: Map myMap; myMap.put(MyEnum.FOO, “Foo”); myMap.put(MyEnum.BAR, “Bar”); templateModel.put(“myMap”, myMap); my.ftl: ${key} = ${value} 在Freemarker文档中,它描述了如何访问Enum本身,但我没有找到任何关于如何使用Enum作为键从哈希值中获取值。 谢谢。

从json到java.util.Map编码/解码的库?

有谁知道一个java库可以轻松地将java Maps编码为json对象,反过来呢? UPDATE 由于原因无法解释(我有时讨厌)我不能在我的环境中使用generics。 我想要做的是拥有这样的东西: Map a = new HashMap(); a.put( “name”, “Oscar” ); Map b = new HashMap(); b.put( “name”, “MyBoss”); a.put( “boss”, b ) ; List list = new ArrayList(); list.add( a ); list.add( b ); String json = toJson( list ); // and create the json: /* [ { “name”:”Oscar”, “boss”:{ “name”:”MyBoss” […]

myLocationOverlay更改标记

如何在谷歌地图中更改MyLocationOverlay的默认蓝色动画标记?

Java中的列表与地图

我没有理解Java中的地图。 什么时候建议使用Map而不是List? 提前致谢, nohereman

在HashMap中进行部分搜索

我需要创建电话簿类的东西。 它包含姓名和号码。 现在当我输入字母时,应该返回匹配列表。 对于下面给出的示例,当我键入H时,应返回包含Harmer,Harris,Hawken,Hosler的列表。 当输入Ha然后列出只包含Harmer,Harris,Hawken的列表应该返回。 Map nameNum = new HashMap(); nameNum.put(“Brown”, “+1236389023”); nameNum.put(“Bob”, “+1236389023”); nameNum.put(“Harmer”, “+1236389023”); nameNum.put(“Harris”, “+1236389023”); nameNum.put(“Hawken”, “+1236389023”); nameNum.put(“Hosler”, “+1236389023”); 知道如何实现它? 提前致谢。