List<Object> list如何转为List<Map> list
时间: 2024-11-15 20:27:51 浏览: 17
将`List<Object>`转换为`List<Map>`通常需要遍历原始列表,并检查每个元素是否可以适配到`Map`结构。这里有一个简单的示例,假设你有一个`Object`类型的集合,其中包含一些实现了`Map`接口的对象:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 假设我们有这样一个Object列表
List<Object> objectList = new ArrayList<>();
objectList.add(new HashMap<String, String>()); // 示例:HashMap对象
objectList.add(new SomeClassWithCustomMapAdapter()); // 类型为SomeClass,自定义适配器
// 将Object列表转换为List<Map>
List<Map<String, String>> mapList = new ArrayList<>();
for (Object obj : objectList) {
if (obj instanceof Map) { // 检查是否是Map类型
mapList.add((Map<String, String>) obj);
} else if (obj instanceof SomeClassWithCustomMapAdapter) { // 如果是自定义适配类
mapList.add(((SomeClassWithCustomMapAdapter) obj).getMappedMap());
} else {
throw new IllegalArgumentException("Element is not a valid Map or custom adapter.");
}
}
// 现在mapList包含了所有适配成Map的对象
System.out.println(mapList);
}
}
// 定义一个自适应适配器类
class SomeClassWithCustomMapAdapter {
private final Map<String, String> myMap;
public SomeClassWithCustomMapAdapter() {
this.myMap = new HashMap<>();
// ... 初始化map内容
}
public Map<String, String> getMappedMap() {
return myMap; // 返回适配后的Map实例
}
}
```
阅读全文