草庐IT

entrySet

全部标签

java - 如何使用 JAVA 8 从 map 中获取第一个键值?

至于现在我在做什么:MapprocessedItem=processedItemMap.get(i);Map.EntryentrySet=getNextPosition(processedItem);Itemkey=entrySet.getKey();Booleanvalue=entrySet.getValue();publicstaticMap.EntrygetNextPosition(MapprocessedItem){returnprocessedItem.entrySet().iterator().next();}有没有更简洁的方法用java8来做到这一点?

java - 什么情况下map.entrySet返回的Map.Entry会为NULL

我遇到了一个代码片段,它使用条目集遍历map并仅执行一些操作ifentry!=null据我所知,即使我们不在map中输入任何内容,map.entrySet也会返回一个空集而不是null。即使我输入{null,null}然后条目将是[null=null]即具有这些元素的实例。但实例不会为空。Mapmap=newHashMap();map.put(null,null);map.put(string1,string1);for(Map.Entryentry:map.entrySet()){if(entry!=null){//dosomething}}我有以下基本问题:在什么情况下,HashM

Java:如何拍摄ConcurrentHashMap的静态快照?

Javadoc表示方法values()和entrySet()的返回值由map支持。因此对map的更改会反射(reflect)在集合中,反之亦然。我不希望这种情况发生在我的静态副本上。本质上,我希望在我的DS上完成大量并发操作。但在某些情况下,我想迭代它的静态快照。我想迭代静态快照,因为我假设与同时更新的版本相比,迭代静态快照会更快。 最佳答案 只需复制一份,不会更改。SetkeySetCopy=newHashSet(map.keySet());ListvaluesCopy=newArrayList(map.values());所有集

java - treeMap.entrySet() 不应该返回一个 SortedSet 吗?

为什么不treeMap.entrySet()和treeMap.keySet()方法返回SortedSet?我可能会说这是一个错误。根据API,一个Set被定义为没有特定的顺序。但是,TreeMap返回的集合确实具有特定的顺序。 最佳答案 我认为如果他们现在编写接口(interface)SortedMap,keySet和entrySet都会返回SortedSet。但是,SortedMap接口(interface)是在允许协变返回类型之前在Java1.2中引入的。他们现在不能改变这一点,因为那里将有SortedMap的实现,keySet

java - java.util.Map 条目集的问题

我在使用以下代码时遇到了一个奇怪的问题。Mapmap=newHashMap();for(Entryentry:map.entrySet()){//}而下面的代码无法编译。Mapmap=newHashMap();for(Entryentry:map.entrySet()){//compileerrorhere//}有什么线索吗? 最佳答案 entrySet方法签名是Set>entrySet()所以只能引用Map.Entry如果您像在第一个示例中那样在声明中声明了泛型类型。在第二个中,您使用的是原始类型,所以它本质上是SetentryS

java.lang.ClassCastException : java. util.HashMap$EntrySet 无法转换为 java.util.Map$Entry

我有一个这样的覆盖方法@OverridepublicBuildauth(Map.Entryauth){this.mAuth=auth;returnthis;}这里我尝试用下面的方式调用这个方法Mapauthentication=newHashMap();authentication.put("username","testname");authentication.put("password","testpassword");Map.EntryauthInfo=(Entry)authentication.entrySet();AuthMethod.auth(authInfo)在运行时得

java - 遍历 EnumMap#entrySet

Map#entrySet上的枚举并不适用于所有Map实现,特别是EnumMap、IdentityHashMap,这里是来自JoshBloch的puzzlerpresentation(Puzzle5)的示例代码-publicclassSize{privateenumSex{MALE,FEMALE}publicstaticvoidmain(String[]args){printSize(newHashMap());printSize(newEnumMap(Sex.class));}privatestaticvoidprintSize(Mapmap){map.put(Sex.MALE,Sex

java - TreeMap 的 entrySet() 是否返回一个 TreeSet

从TreeMap实例调用的entrySet()函数是否返回条目的TreeSet或只是一组条目。顺序是否得到保证?与其将其作为一组条目获取,不如如何按顺序获取条目列表? 最佳答案 相反:TreeSet在内部使用TreeMap。(参见TreeSetdocs的第一句)我在网上找不到太多可链接到的Sunjava源代码,但这里有一些较旧的版本:TreeSetTreeMap如您所见,TreeMap定义了一个名为TreeMap.EntrySet的内部类。它只是扩展了AbstractSet。不,它没有实现SortedSet(否则可能由SortedM

java - 如何模拟 Map 的返回值?

我有这样的代码:for(Map.Entryentry:availableActions.entrySet()){...}我试过这样模拟它:MapmockAvailableActions=mock(Map.class,Mockito.RETURNS_DEEP_STUBS);mockAvailableActions.put(newInteger(1),mockAction);我认为这就足够了。但是entrySet是空的。所以我添加了这个:when(mockAvailableActions.entrySet().iterator()).thenReturn(mockIterator);whe

java - 为什么我们使用 entrySet() 方法并使用返回的集合来迭代 map ?

通常我们写这个是为了从映射中获取键和值。Mapm=newHashMap();Sets=map.entrySet();Iteratori=s.iterator()while(s.hasNext()){Map.Entrym=(map.Entry)s.next();System.out.println(""+m.getKey()+""+m.getValue());}为什么我们使用集合进行迭代为什么不直接映射? 最佳答案 这非常接近于遍历map,因为您必须说明是只需要键、值还是整个键/值条目。对于集合和列表,只有一个选项,因此不需要单独的方
12