Java如何迭代映射<;字符串,设备>;
我有一个自定义映射,其中Device是名为Device的类的实例Java如何迭代映射<;字符串,设备>;,java,iterator,Java,Iterator,我有一个自定义映射,其中Device是名为Device的类的实例 devices = new HashMap<String, Device>(); devices=newhashmap(); 我尝试了StackOverflow上建议的几个迭代器和for循环,但它们似乎都产生了错误,我不知道为什么 示例错误: 及 你能试试这个吗: HashMap<String, Device> devices = new HashMap<String, Device>()
devices = new HashMap<String, Device>();
devices=newhashmap();
我尝试了StackOverflow上建议的几个迭代器和for循环,但它们似乎都产生了错误,我不知道为什么
示例错误:
及
你能试试这个吗:
HashMap<String, Device> devices = new HashMap<String, Device>();
// do stuff to load devices
Device currentDevice;
for (String key : devices.keySet()) {
currentDevice = devices.get(key);
// do stuff with current device
}
HashMap devices=newhashmap();
//做一些事情来加载设备
器件电流器件;
for(字符串键:devices.keySet()){
currentDevice=devices.get(键);
//使用当前设备进行操作
}
你能试试这个吗:
HashMap<String, Device> devices = new HashMap<String, Device>();
// do stuff to load devices
Device currentDevice;
for (String key : devices.keySet()) {
currentDevice = devices.get(key);
// do stuff with current device
}
HashMap devices=newhashmap();
//做一些事情来加载设备
器件电流器件;
for(字符串键:devices.keySet()){
currentDevice=devices.get(键);
//使用当前设备进行操作
}
看起来设备的声明不正确。应该是:
Map<String, Device> devices;
Map设备;
不是原始(“已擦除”)类型,Map
。现代编译器应该为您提供使用原始类型的警告。注意编译器警告。看起来设备的声明不正确。应该是:
Map<String, Device> devices;
Map设备;
不是原始(“已擦除”)类型,Map
。现代编译器应该为您提供使用原始类型的警告。注意编译器警告。在第一个场景中,您只需给出
对于(Map.Entry:devices.entrySet()){}
就足够了,您不需要在那里强制转换Map.Entry(字符串、设备)。在第二个场景中,当您从条目中获取值时,它将返回对象值,因此您需要强制转换到特定实例
Device Device=(Device)pairs.getValue()在第一个场景中,您只需给出
对于(Map.Entry:devices.entrySet()){}
就足够了,您不需要在那里强制转换Map.Entry(字符串、设备)。在第二个场景中,当您从条目中获取值时,它将返回对象值,因此您需要强制转换到特定实例
Device Device=(Device)pairs.getValue()有3种方法可以迭代映射
1) 使用For Each循环对条目进行迭代。
2) 使用For Each循环对键或值进行迭代。
3) 使用迭代器进行迭代。(为此,可以使用泛型或不使用泛型进行迭代)
有3种方法可以在地图上迭代
1) 使用For Each循环对条目进行迭代。
2) 使用For Each循环对键或值进行迭代。
3) 使用迭代器进行迭代。(为此,可以使用泛型或不使用泛型进行迭代)
您得到的错误是什么?除了发布您尝试过的代码可能也会有所帮助。这里有一个方法对我很有效:我添加了错误的屏幕截图。对于第二个示例,您需要强制转换:Device Device=(Device)pairs.getValue()代码>您得到的错误是什么?除了发布您尝试过的代码可能也会有所帮助。这里有一个方法对我很有效:我添加了错误的屏幕截图。对于第二个示例,您需要强制转换:Device Device=(Device)pairs.getValue()代码>这是在跟踪密钥的同时迭代哈希映射的最干净方法。这是在跟踪密钥的同时迭代哈希映射的最干净方法。