QBluetoothDeviceInfo不能作为map中的key
时间: 2024-03-10 10:46:20 浏览: 20
是的,你提出的这个问题是正确的,QBluetoothDeviceInfo 不能直接作为 QMap 的 key 使用,因为 QMap 要求 key 必须是可复制和可比较的类型。
对于 QBluetoothDeviceInfo 类型,可以通过其 address() 方法获取设备的 MAC 地址,并将其作为 QMap 的 key 使用。例如:
```
QMap<QString, bool> devices;
QList<QBluetoothDeviceInfo> list = discoveryAgent->discoveredDevices();
foreach (const QBluetoothDeviceInfo &deviceInfo, list) {
QString deviceAddress = deviceInfo.address().toString();
devices[deviceAddress] = true;
}
```
在上面的代码中,我们将设备的 MAC 地址作为 QMap 的 key,将布尔值作为 value,以便在后续的代码中能够方便地查询设备是否已被发现。
相关问题
js中遍历map的key
在JavaScript中,没有内置的Map数据结构,但是可以使用对象来模拟Map。要遍历JavaScript中的Map的key,可以使用for...in循环。具体实现方法如下:
```
var map = {'a': 'aaaaa','b': 'bbbbb'};
for(var key in map){
console.log(key);
}
```
这段代码将会输出map中所有的key,即'a'和'b'。需要注意的是,for...in循环会遍历对象的所有可枚举属性,因此需要使用hasOwnProperty()方法来判断属性是否为对象自身的属性,而不是继承自原型链的属性。具体实现方法如下:
```
var map = {'a': 'aaaaa','b': 'bbbbb'};
for(var key in map){
if(map.hasOwnProperty(key)){
console.log(key);
}
}
```
java stream获取map中key
可以通过Java Stream API的`Map#keySet()`方法获取Map中的所有key,代码示例如下:
```java
Map<Integer, String> map = new HashMap<>();
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
Set<Integer> keys = map.keySet().stream().collect(Collectors.toSet());
System.out.println(keys); // 输出 [1, 2, 3]
```
上述代码中,先通过`Map#keySet()`方法获取到Map中所有的key,然后通过Stream API转换为Set集合,最终输出所有的key。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)