gpt4 book ai didi

java - 从 ArrayList 访问数据

转载 作者:行者123 更新时间:2023-12-02 01:16:54 29 4
gpt4 key购买 nike

我正在努力用动态行和列动态填充列表并在 UI 中显示它们。所有操作均已准确完成,但我无法从指定的行和列中获取值,例如第 4 行和第 3 列。代码如下:-

    public LiveRangeService() {
tableData = new ArrayList< Map<String, ColumnModel> >();

//Generate table header.
tableHeaderNames = new ArrayList<ColumnModel>();
for (int j = 0; j < 10; j++) {
tableHeaderNames.add(new ColumnModel("header "+j, " col:"+ String.valueOf(j+1)));
}

//Generate table data.
for (int i = 0; i < 8; i++) {
Map<String, ColumnModel> playlist = new HashMap<String, ColumnModel>();
for (int j = 0; j < 10; j++) {
playlist.put(tableHeaderNames.get(j).key, new ColumnModel(tableHeaderNames.get(j).key,"row:" + String.valueOf(i+1) +" col:"+ String.valueOf(j+1)));
}
tableData.add(playlist);
}
try {
System.out.println( "Table Data Size " + tableData.size() );
System.out.println( "Value Of Row 1 Col 2: " + tableData.get(1).get(2) );
} catch (Exception e) {
System.out.println( "Error!! " + e.getMessage() );
}
}

请一些人帮助我理解这段代码。以下行发生错误:-

            System.out.println( "Value Of Row 1 Col 2: " + tableData.get(1).get(2) );

the result shown on page

最佳答案

tableData = new ArrayList< Map<String, ColumnModel> >();

您正在将 map 存储在列表中,并且该 map 是通用的表示map中的key是String。

tableData.get(1).get(2)

以上行 get(1) 将为您提供第一个 Map 对象。然后get(2),意味着您正在传递Integer作为键来从 map 中获取值,但您的 map 需要String作为键。

它的映射和值可以使用键来检索,而不是像 arrayList 那样基于索引。所以你会收到错误

传递类似的东西

tableData.get(1).get(<some string key>) 

应该可以

关于java - 从 ArrayList 访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58424272/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com