问题标签 [keyset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 从哈希图中的数组列表中删除一个值
我有一个哈希图,其中包含一个数组列表作为值。我想检查其中一个数组列表是否包含一个对象,然后从数组列表中删除该对象。但是,怎么做?
我尝试过使用一些 for 循环,但我得到了 ConcurrentModificationException,我无法消除该异常。
我的哈希图:
我想检查 ArrayList 是否包含我拥有的 UUID,如果是,我想从该 ArrayList 中删除它。但我不知道代码那个位置的字符串。
我已经尝试过的:
java - 如何在 Java 中对 map.keySet() 的顺序进行排序?
现在输出是
s 的预期输出为:
有人可以告诉我如何将其修改为 Linkedhashmap 或树形图吗?非常感谢。
java - 为什么 ConcurrentHashMap 中的 keySet() 返回 KeySetView 而不仅仅是 Set 像其他 Map 实现?
为什么返回而不只是(keySet()
从Java SE8 开始)?ConcurrentHashMap
KeySetView<K,V>
Set
KeySetView - ConcurrentHashMap 作为一组键的视图,其中 可以选择通过映射到公共值来启用添加。
但是keySet()
不能启用“映射到一个共同的值”(不像keySet(V mappedValue)
),所以我认为这样做没有任何意义KeySetView<K,V>
——boolean add(K e)
而且boolean addAll(Collection<? extends K> c)
方法总是会扔UnsupportedOperationException
在这里。
PS 我知道KeySetView<K,V>
extends (is-a) Set<K>
。所以我可以像往常一样使用 Set 接口。
我也明白 keySet() 可以自由地将它喜欢的任何类返回给 Set 接口(我们不会关心),但是在 ConcurrenthashMap 中,返回类被明确记录 - 似乎是出于某种有用的目的。
也许这里唯一的用例是可以KeySetView<K,V>
访问支持地图:
java - 关于 HashMap 集合的 keySet() 方法
我正在研究如何通过“迭代器”获取密钥。上面的代码就是其中的一部分。
但是[Set<K> keySet = map.keySet();]
<- 在这部分
不就是那个方法就是重定义接口的HashMap
方法吗?keySet()
Set
keySet()
HashMap
但我在 JAVA API 文档的方法菜单中找不到它。
java - 如何实现 Hashmap 的底层键集以使 add 方法失败?
在上面的代码中keySet.add("Key4")
抛出java.lang.UnsupportedOperationException
. 这是否意味着这个特定的 Set 实例是一个防止添加键的特殊实现?底层实现如何实现这一点?
而keySet.remove("Key3");
工作正常并从 中删除元素HashMap
。
java - HashMap 中的 keySet() 方法可能更简洁
mac OS 上的 JDK 8,查看 HashMap.java 中的以下代码:
对返回的 ks 的任何更改都将反映在 keySet 中,因为它们始终指向相同的底层集合,如果这是真的,可以写成:
这两个代码片段的行为是否相同?
如果是这样,为什么HashMap
使用第一个变体而不是第二个变体?
android - 比较内置的`setOf`和Android的`keySet`?
试图在我的应用程序中简洁地确保一致性。如何检查捆绑包是否具有与集合相同的键?- 或者我如何构建一个keySet
简洁的比较?
输出println("Expected $expect got $keys")
:
java - 如何返回具有现有值的键的集合视图?
例如,如果我有一个包含 10 个键的 HashMap,但只有 4 个键有值。如何返回这些键的 SetView。我只找到了 Map<K,V>.keySet() 方法,但是这个方法给了我这个 Hashmap 中的每一个键。我只需要那些价值 !=null !!! 对不起我的英语不好,我是德国人:)
java - 如何从keySet中提取随机字符串?
我正在解决一个需要从 keySet 中提取随机字符串的问题。只是想知道是否有人可以在这里给我一些指导。我很迷茫。如果我使用的是 int,而不是 String,我已经找到了很多方法来做到这一点。例如,我想对用户进行关于州及其首都的测验,并从问题的 keySet 中提取一个随机密钥。这是套装:
java - 如何对 TreeMap 的 keySet() 进行排序带有包含数字的键?
我将简要描述我做了什么,然后展示我得到的结果与我想要的结果有何不同。
在此先感谢您的任何建议。
Java 代码是在 java 在线编译器中创建的,并且在任何情况下都可以在那里执行而不会出现错误消息。
简短的介绍:
我想为方阵的行索引和列索引之间的每个可能组合分配一个布尔值。
只有主对角线被排除在外。为此,我使用TreeMap <String, Boolean>
我TreeMap
通过在 for 循环中链接 {row index + "-"+column index} 来形成的键。
一开始,所有键的值都被赋值为 {false}。
在第二个循环中,所选索引basicL
与其他索引(=键)的每个可能组合都将与布尔值 true 链接(同样没有主对角线的值)。结果,TreeMap.keySet()
是以排序顺序(按键排序)打印的。示例适用于basicL = 4;
矩阵说明 (布尔真=绿色,布尔假=白色,排除=灰色):