我有一个具有多个配对的Hashmap。 例如:
Map<String, List<String>> map = new HashMap<>();
{name}- key
{abc, dfc, ghj}- values
{address}- key
{ghj,uio,opd}-values
根据TestNg,我希望将此地图用于DataProvider批注,并向我返回一个Object [] [],该对象可以通过以下方式在Test中进一步使用:
{{"name,abc"},{"name,dfc"}....}
道歉,没有提到我尝试过的解决方案,它来了:
String[] keys = new String[map.size()];
ArrayList<ArrayList<String>> values = new ArrayList<>();
int index = 0;
for (Map.Entry<String, List<String>> mapEntry : map.entrySet()) {
keys[index] = mapEntry.getKey();
values[index] = mapEntry.getValue();
index++;
}
答案 0 :(得分:0)
创建一个助手类:
private class Pair {
public String key, value;
}
您的代码:
Map<String, List<String>> map = new HashMap<>();
List<Pair> pairs = new ArrayList();
for(Map.Entry<String, List<String>> entry : map.entrySet())
{
for(String value : entry.getValue())
{
Pair newPair = new Pair();
newPair.key = entry.getKey();
newPair.value = value;
pairs.add(newPair);
}
}