Map<String, List<>>转List<List<>>,List<List<>>为20,List<List>时按照键的顺序进行分配
时间: 2023-10-14 18:21:00 浏览: 92
java代码-使用java解决bean&map工具类的源代码
假设Map的键为String类型,值为List类型,可以使用以下代码将Map<String, List<?>>转换为List<List<?>>:
```java
Map<String, List<?>> map = new HashMap<>();
// 假设map中有多个键值对
List<List<?>> result = new ArrayList<>(Collections.nCopies(20, new ArrayList<>()));
int i = 0;
for (String key : map.keySet()) {
List<?> value = map.get(key);
result.get(i % 20).add(value);
i++;
}
// result即为转换后的List<List<?>>,其中List<?>表示可以存储任意类型的List
```
上述代码中,首先创建了一个长度为20的List<List<?>>,并使用Collections.nCopies方法来初始化,这样可以避免使用循环语句来初始化List。
接着,使用for循环遍历Map的键值对,将值添加到result中。为了按照键的顺序进行分配,使用了i % 20来确定值应该添加到哪个List中,即取余数操作。最后,返回result即可。
阅读全文