List< List<String> > data = new ArrayList<>();是什么意思
时间: 2023-11-11 11:17:13 浏览: 131
`List<List<String>> data = new ArrayList<>();` 是Java中定义一个二维字符串数组的语句,也可以称之为二维字符串列表。
- `List<String>` 表示存储字符串类型元素的列表,它是Java集合框架中的一种数据结构,可以动态地添加、删除和修改元素。
- `List<List<String>>` 表示存储字符串类型元素的二维列表,也就是一个列表中包含了多个列表,每个子列表中又包含了多个字符串元素。
- `new ArrayList<>()` 表示创建一个 ArrayList 实例,用来存储二维列表中的元素。
因此,`List<List<String>> data = new ArrayList<>();` 的意思就是创建一个二维列表 data,用来存储多行字符串数据,每行数据又是由多个字符串元素组成的列表。
相关问题
怎么根据List<HashMap<String, Object>> tableData = new ArrayList<>();hashmap中id排序
可以使用Java8的Stream API对List进行排序,代码如下:
```
List<HashMap<String, Object>> sortedList = tableData.stream()
.sorted(Comparator.comparingInt(m -> (int) m.get("id")))
.collect(Collectors.toList());
```
以上代码会根据HashMap中的id字段进行升序排序,并返回一个新的List对象。注意,以上代码假设id字段的值是Integer类型,如果是其他类型需要对比的字段,需要修改`Comparator.comparingInt(m -> (int) m.get("id"))`中的字段名和类型。
public static List<Map<String, String>> getAllData(String path, Integer sheetIndex, Integer startIndex, Map<Integer, String> typeIndex) throws IOException { Workbook workBook = getWorkBook(path); Sheet sheet = getSheet(workBook, sheetIndex); ArrayList<Map<String, String>> maps = new ArrayList<>(); for (int i = startIndex; i < sheet.getLastRowNum() + 1; i++) { Row row = sheet.getRow(i); HashMap<String, String> map = new HashMap<>(); for (Map.Entry<Integer, String> integerStringEntry : typeIndex.entrySet()) { Cell cell = row.getCell(integerStringEntry.getKey()); cell.setCellType(CellType.STRING); map.put(integerStringEntry.getValue(), cell.toString()); } maps.add(map); } return maps; }
这段代码是在做什么的?
这段代码是在获取Excel文件中的数据。
它包含了一个方法 `getAllData`,它有四个参数:
- `path`:Excel文件的路径
- `sheetIndex`:要读取的工作表的索引
- `startIndex`:要读取的数据的开始行的索引
- `typeIndex`:每一列对应的数据类型的映射
这个方法使用 Apache POI 库来读取 Excel 文件,然后遍历从 `startIndex` 开始的每一行,将每一行的每一列的数据存储到一个 `Map` 对象中,最后将所有的 `Map` 对象存储到一个 `List` 对象中,并返回这个 `List` 对象。
阅读全文