我有这个代码来检索 map 的键值对:
countries = BeneficiaryJSONParser.parseCountriesFeed(result);
for(Map.Entry<String, Object> entry: countries.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
输出:
data : [{234=United Arab Emirates, 103=India, 210=Sri Lanka, 235=United Kingdom, 216=Switzerland, 200=Singapore, 76=France}]
status : 200
code : 1
我想以包含键和值的数组形式获取数据。因为,我想将这些键值对放入,
final MyData items[] = new MyData[3];
items[0] = new MyData( "234","United Arab Emirates" );
items[1] = new MyData( "103","India" );
items[2] = new MyData( "210","Sri Lanka" );
.
.
.
最佳答案
您只需将每个条目转换为 MyData:
List<MyData> data = new ArrayList<> ();
for (Map.Entry<String, Object> e: countries.entrySet()) {
data.add(new MyData(e.getKey(), String.valueOf(e.getValue());
}
final MyData[] items = data.toArray(new MyData[0]);
或者使用流:
final MyData[] items = countries.entrySet().stream()
.map(e -> new MyData(e.getKey(), String.valueOf(e.getValue()))
.toArray(MyData[]::new);
关于java - 从Map中获取键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490347/