List<List<String>>转List<String[]>
时间: 2024-01-01 15:23:04 浏览: 127
要将类型为 `List<List<String>>` 的嵌套列表转换为类型为 `List<String[]>` 的平面列表,可以使用以下方法:
```java
List<List<String>> nestedList = new ArrayList<>();
// 添加数据到嵌套列表中
List<String[]> flatList = nestedList.stream()
.map(list -> list.toArray(new String[0]))
.collect(Collectors.toList());
```
上述代码使用了 Java 8 的流(Stream)和 `map` 方法来将每个嵌套列表转换为数组,然后使用 `collect` 方法将这些数组收集到一个平面列表中。
相关问题
Map<String, List<>>转List<List<>>且均匀分配,List<List<>>大小为20
假设Map<String, List<String>>为例,可以按照以下方式转换成List<List<String>>并进行均匀分配:
```java
Map<String, List<String>> map = new HashMap<>();
// 假设map中已经存储了数据
// 将map转换为List<List<String>>
List<List<String>> resultList = new ArrayList<>();
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
List<String> list = entry.getValue();
resultList.add(list);
}
// 均匀分配,List<List<>>大小为20
int totalSize = resultList.size();
int maxSize = 20;
int groupCount = totalSize % maxSize == 0 ? totalSize / maxSize : totalSize / maxSize + 1;
List<List<List<String>>> groups = new ArrayList<>();
for (int i = 0; i < groupCount; i++) {
int startIndex = i * maxSize;
int endIndex = Math.min(startIndex + maxSize, totalSize);
List<List<String>> group = new ArrayList<>(resultList.subList(startIndex, endIndex));
groups.add(group);
}
```
这段代码中,首先将Map<String, List<String>>转换为List<List<String>>,然后计算出需要分成几组,每组大小为20。最后将List<List<String>>按照均匀分配的规则分成多个List<List<String>>。
java vector<vector<String>>转list<list<String>>
可以使用以下代码将 Java 中的 vector<vector<String>> 转换为 list<list<String>>:
```
Vector<Vector<String>> vec = new Vector<>();
List<List<String>> list = new ArrayList<>();
// 添加数据到 vec
for (Vector<String> v : vec) {
List<String> l = new ArrayList<>(v);
list.add(l);
}
```
希望能够帮到您!如果您还有其他问题,欢迎随时问我。
阅读全文