4个map 查出来2个有数据,把没有数据的map返回空 
时间: 2023-05-21 08:06:12 浏览: 12
可以使用以下代码实现:
```
std::map<int, std::string> map1;
std::map<int, std::string> map2;
std::map<int, std::string> map3;
std::map<int, std::string> map4;
std::vector<std::map<int, std::string>> maps;
// 添加数据到 map1 和 map2 中
// 判断哪些 map 中有数据
if(!map1.empty()){
maps.push_back(map1);
}
if(!map2.empty()){
maps.push_back(map2);
}
if(!map3.empty()){
maps.push_back(map3);
}
if(!map4.empty()){
maps.push_back(map4);
}
// 如果没有数据的 map 返回空
while(maps.size() < 2){
maps.push_back(std::map<int, std::string>());
}
```
这个代码会将有数据的 map 放入一个 vector 中,然后根据已有的 map 数量判断需要返回多少个空的 map。
相关问题
c++生成一个数据管理的类,类中带有map成员
下面是一个简单的示例代码,演示如何在 C++ 中生成一个数据管理的类,类中带有 map 成员:
```c++
#include <iostream>
#include <map>
#include <string>
class DataManager {
public:
void addData(const std::string& key, const std::string& value) {
data_[key] = value;
}
std::string getData(const std::string& key) const {
auto it = data_.find(key);
if (it != data_.end()) {
return it->second;
} else {
return "";
}
}
private:
std::map<std::string, std::string> data_;
};
int main() {
DataManager manager;
manager.addData("name", "John Doe");
manager.addData("age", "30");
manager.addData("address", "123 Main St.");
std::cout << "Name: " << manager.getData("name") << std::endl;
std::cout << "Age: " << manager.getData("age") << std::endl;
std::cout << "Address: " << manager.getData("address") << std::endl;
return 0;
}
```
在这个示例代码中,我们定义了一个 `DataManager` 类,它有两个公有方法:`addData` 用于添加数据,`getData` 用于获取数据。数据存储在 `std::map<std::string, std::string>` 中,其中键是字符串类型,值也是字符串类型。在 `addData` 方法中,我们可以通过给定的键和值将数据添加到 map 中。在 `getData` 方法中,我们可以通过给定的键获取相应的值。如果键不存在,则返回空字符串。
在 `main` 函数中,我们创建了一个 `DataManager` 对象,并使用 `addData` 方法添加了三个数据。然后,我们使用 `getData` 方法获取数据,并将其打印到控制台上。
java 导入excel数据返回map
可以使用 Apache POI 库来读取 Excel 文件数据,并将数据以 Map 的形式返回。以下是一个简单的示例:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ExcelUtils {
public static Map<String, String> readExcel(String filePath, String sheetName) throws IOException {
Map<String, String> dataMap = new HashMap<>();
FileInputStream fileInputStream = new FileInputStream(filePath);
Workbook workbook = WorkbookFactory.create(fileInputStream);
Sheet sheet = workbook.getSheet(sheetName);
for (Row row : sheet) {
Cell keyCell = row.getCell(0);
Cell valueCell = row.getCell(1);
String key = keyCell.getStringCellValue();
String value = valueCell.getStringCellValue();
dataMap.put(key, value);
}
workbook.close();
fileInputStream.close();
return dataMap;
}
}
```
使用示例:
```java
Map<String, String> dataMap = ExcelUtils.readExcel("data.xlsx", "Sheet1");
System.out.println(dataMap);
```
其中,`data.xlsx` 是 Excel 文件路径,`Sheet1` 是工作表名称。该方法会将第一列作为 Map 的键,第二列作为 Map 的值。可以根据需要修改代码。
相关推荐















