java map 批量写到 csv_CSV-03- csv 读写框架支持数组、Map、Collection 等常见集合

集合类

有时候对象中会包含数组、Map、Collection 等常见集合。

为了存储的便利性,默认提供集合的相关支持。

特性和普通字段保持一致,如果指定注解转换,则以注解为准。

使用示例

UserCollection.java

用于演示集合的对象

public class UserCollection {

private String[] arrays;

private LinkedList lists;

private Map maps;

private Set sets;

//Getter/Setter/toString()

}

存储

待存储对象的构建

/**

* 构建基于集合的测试列表

* @return 列表

* @since 0.0.3

*/

private List buildCollectionList() {

UserCollection user = new UserCollection();

String[] arrays = new String[]{"a", "b", "c"};

LinkedList lists = new LinkedList<>(Arrays.asList(arrays));

Map maps = new HashMap<>();

maps.put("key", "value");

maps.put("key2", "value2");

Set sets = new HashSet<>();

sets.add("set1");

sets.add("set2");

user.setLists(lists);

user.setArrays(arrays);

user.setMaps(maps);

user.setSets(sets);

return Arrays.asList(user);

}

执行存储

public void collectionTest() {

final String path = "src\\test\\resources\\collection.csv";

CsvWriteBs.newInstance(path)

.write(buildCollectionList());

}

存储效果

arrays,lists,maps,sets

a|b,a|b|c,key2=value2|key=value,set1|set2

读取

测试类

public void collectionTest() {

final String path = "src\\test\\resources\\collection.csv";

List userList = CsvReadBs.newInstance(path)

.read(UserCollection.class);

System.out.println(userList);

}

测试日志

[UserCollection{arrays=[a, b], lists=[a, b, c], maps={key=value, key2=value2}, sets=[set2, set1]}]

注意

为了保证 csv 以 , 分隔的统一性。

集合使用 | 进行分隔,其中 map 的 key/value 分隔,用到了 =。

在使用时要注意,不要包含上述的符号,否则会出现解析错乱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值