`
nbtlxx
  • 浏览: 253706 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

如何遍历一个hashmap

 
阅读更多
今天在项目中使用hashmap
1. hashmap.put(playerid, player)
2. 遍历hashmap
   依次取出其中的player value,
   查看是否有需要发送的数据
   如果有的话,就使用输出流进行write操作



碰到的问题,就是元素取出后强行Cast,发送类型转换异常

下面是正确的代码片段:
Iterator it = playerMap.entrySet().iterator();
		while (it.hasNext()) {
//先获得map.entry, 然后在通过getValue()方法得到需要的值
			Map.Entry<Integer, Player> entry = (Entry<Integer, Player>) it.next();
			Player player = entry.getValue();

			if (player == null) {
				return;
			}

			/**
			 * 如果数据不为空,则发送队列中的数据到客户端
			 */
			if (!player.data.isEmpty()) {
				String msg = (String) player.data.pop();
				try {
					player.getOutputStream().write(msg.getBytes().length);
					player.getOutputStream().write(msg.getBytes());
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}


分享到:
评论

相关推荐

    怎样遍历一个HashMap?

    可以通过2种方法遍历HashMap &lt;br&gt;Map map = new HashMap(); &lt;br&gt;for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) { &lt;br&gt; Map.Entry entry = (Map.Entry) iter.next(); &lt;br&gt; Object ...

    java中Map集合的常用遍历方法及HashMap的应用实例

    1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素; 3、...

    Java HashMap 如何正确遍历并删除元素的方法小结

    这段代码将抛出 `java.util.ConcurrentModificationException` 异常,因为在遍历 HashMap 的元素过程中删除了当前所在元素,下一个待访问的元素的指针也由此丢失了。 2. 正确的删除方法 正确的删除方法是使用迭代...

    HashMap和List遍历方法及如何遍历删除元素总结

    要解决HashMap遍历删除元素的问题,可以使用Iterator来遍历HashMap,并使用Iterator的remove方法来删除元素。这样可以避免ConcurrentModificationException异常。 小结 在遍历和删除HashMap和List的元素时,需要...

    Java5种遍历HashMap数据的写法

    Java5种遍历HashMap数据的写法 Java语言中,HashMap是一种常用的数据结构,用于存储键值对形式的数据。然而,在实际开发中,我们经常需要遍历HashMap中的数据以实现某些功能。下面将介绍五种遍历HashMap数据的写法...

    基于HashMap遍历和使用方法(详解)

    3. HashMap用哈希表来存储map的键,键是无序唯一的,可以有一个为null。 4. HashMap的值无序不唯一,可以有多个null。 HashMap是一种常用的数据结构,提供了多种遍历方法,可以满足不同的开发需求。然而,在选择...

    HashMap遍历

    以下是一个典型的使用`keySet()`遍历`HashMap`的例子: ```java Map, String&gt; map = new HashMap(); for (int i = 0; i ; i++) { map.put("key" + i, "value" + i); } Iterator&lt;String&gt; iterator = map.keySet()....

    java遍历HashMap简单的方法

    遍历HashMap是开发者经常遇到的任务,尤其在处理数据操作时。本篇文章将详细介绍如何使用简单的方法来遍历HashMap,通过实例代码帮助理解。 HashMap遍历的常用方法主要有三种:迭代器(Iterator)遍历、键集...

    Java HashMap的三种遍历方法及优缺点含示例

    通过entrySet()方法,我们可以遍历HashMap中的每个键值对(Entry)。这种方式不仅可以遍历到所有的键,还可以在单次遍历中直接获得与键相对应的值。对于需要同时处理键和值的场景,entrySet()是最为高效的方法。 **...

    如何遍历一个java集合

    遍历HashMap时,可以使用`keySet()`、`values()`或`entrySet()`方法获取相应的Set视图,再进行迭代。 在面试中,除了基本的遍历方式,还可能考察一些高级话题,如并发遍历(ConcurrentModificationException)、...

    java哈希遍历_哈希遍历_

    HashMap内部通过数组加链表的方式存储数据,即每个元素通过哈希函数映射到数组的一个位置,如果发生哈希冲突,就将元素放在链表中。这使得HashMap能够在大部分情况下保持高效的性能。 **遍历HashMap的方法** 1. **...

    用HashMap模拟一个网上购物车

    在本实验中,我们通过使用Java语言中的`HashMap`来模拟一个简单的网上购物车系统。该项目的主要目的是熟悉Java集合框架中的`HashMap`类,并了解如何利用它来存储、管理和检索数据。此外,我们还将学习如何使用`...

    hashmap面试题_hashmap_

    2. 可空性:键和值都可以为null,但一个HashMap只能有一个键为null的条目。 3. 默认容量:16,负载因子0.75,当容量达到负载因子乘以当前容量时,会发生扩容。 四、HashMap面试题解析 1. HashMap的初始容量和扩容...

    Java 实例 - HashMap遍历源代码-详细教程.zip

    在Java编程语言中,HashMap是集合框架中一个重要的类,用于存储键值对的数据结构。这个实例教程将深入解析HashMap的遍历方法及其源代码,帮助开发者更好地理解和使用HashMap。以下是对这个主题的详细讲解: 1. **...

    使用多种方式实现遍历HashMap的方法

    entrySet方法返回HashMap中所有键值对的Set视图,其中每个元素都是一个Map.Entry对象。Map.Entry接口代表键值对,提供了getKey()和getValue()方法。通过遍历这个Set,我们可以同时获取键和值。 4. **方式四:使用...

    用HashMap写的一个小Demo用来写游戏排名的一种方法

    但是,如果我们直接遍历HashMap,得到的结果将是无序的。为了实现排名,我们需要将HashMap转换为List,并根据值(分数)进行排序。这可以通过Java 8的Stream API实现: ```java List, Integer&gt;&gt; sortedEntries = ...

    1.HashSet和HashMap遍历.md

    自己写的例子,关于HashSet遍历和HashMap遍历的. 感谢大家参考

    一个基于js的HashMap

    6. **遍历HashMap**:为了方便操作,HashMap还应提供迭代或遍历所有键值对的方法。 以下是一个简单的JavaScript HashMap实现示例: ```javascript class HashMap { constructor(size = 53) { this.map = new ...

    hashmap使用实例

    6. **遍历HashMap**:有两种方式遍历HashMap,一是通过`entrySet()`获取键值对的迭代器,二是通过`keySet()`获取键的迭代器再获取对应的值。 ```java for (Map.Entry, String&gt; entry : map.entrySet()) { System....

    hashMap和hashTable的区别

    如果多个线程同时访问一个 `HashMap` 实例,而其中至少一个线程修改了该 `HashMap` 结构,则必须保持外部同步。 - **HashTable**:是线程安全的,即同步的。它的所有公共方法都是 `synchronized` 的,这意味着可以...

Global site tag (gtag.js) - Google Analytics