Java List与Map 互转

List转Map采用1.8新特性

public static void main(String[] args) {
        List<User> userList = new ArrayList<>();
        User user1 = new User();
        user1.setId(1L);
        user1.setAge("12");
        User user2 = new User();
        user2.setId(2L);
        user2.setAge("13");
        userList.add(user1);
        userList.add(user2);
        //put的key已存在的不使用(oldValue, newValue) -> newValue 会报错
        Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId, user->user,(oldValue, newValue) -> newValue));
}
 public static class User {
        private Long id;
        private String age;
        public Long getId() {
            return id;
        }
        public void setId(Long id) {
            this.id = id;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", age='" + age + '\'' +
                    '}';
        }
    }

Map转List

List<User> re=new ArrayList<>(maps.values());
Java中,将List<Map<String, Object>>格式的数据转换为XML格式,通常需要使用一些支持Java对象和XML互转的库,如JAXB(Java Architecture for XML Binding),或者使用其他第三方库如XStream、Jackson等。这里我将提供一个基于JAXB的基本转换方法。 首先,需要定义一个对应的XML模式(XSD),或者是对应的Java类(使用JAXB注解来标注)来映射数据结构。然后,可以使用JAXB提供的`JAXBContext`和`Marshaller`类来实现对象到XML的转换。 假设有一个简单的例子,List中每个Map包含了用户的基本信息,如下所示: ```java List<Map<String, Object>> userList = new ArrayList<>(); Map<String, Object> user1 = new HashMap<>(); user1.put("id", 1); user1.put("name", "张三"); user1.put("age", 28); userList.add(user1); Map<String, Object> user2 = new HashMap<>(); user2.put("id", 2); user2.put("name", "李四"); user2.put("age", 25); userList.add(user2); ``` 可以创建对应的Java类来表示用户列表和用户信息,使用JAXB注解来标注它们。然后,使用JAXB的`Marshaller`类将用户列表对象转换为XML。 以下是使用JAXB进行转换的简要步骤: 1. 创建对应的Java类并使用JAXB注解标注。 2. 创建`JAXBContext`实例。 3. 创建`Marshaller`实例并配置它。 4. 使用`Marshaller`将对象转换为XML。 这里没有提供具体的类定义和转换代码,因为实现会根据具体的业务需求和XML结构有所不同。需要注意的是,Map通常不直接映射到XML,而是需要映射到具体的Java类,然后再进行转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值