gpt4 book ai didi

java - 如何正确填充 ArrayList 类型的 ArrayList?

转载 作者:行者123 更新时间:2023-12-02 09:01:08 25 4
gpt4 key购买 nike

我是 APCSA 的学生,正在尝试回答教科书中的一个问题。基本上,给定一个包含不同单词的 ArrayList,我需要创建并返回一个 ArrayList 类型的 ArrayList,其中包含 26 个“桶”,每个桶包含以“a”开头的所有单词,然后是“b”,依此类推,直到初始ArrayList完全按照单词的首字母排序。该方法只能解析初始 ArrayList 一次,不能更改它。正如我现在的代码所示,我不断收到越界错误。如果有人能指出正确的方向,那就太好了,谢谢。这就是我目前所拥有的,我不知道它是否接近正确:

public static ArrayList<ArrayList<String>> sortWords(ArrayList<String> words)
{
ArrayList<ArrayList<String>> buckets = new ArrayList<ArrayList<String>>(26);
String letters = "abcdefghijklmnopqrstuvwxyz";


for(int i = 0; i < 26; i++)
{
//keeps track of current letter in letters
int let = 0;

for(int word = 0; word < words.size(); word++)
{
//if first letter of current word equals letter for current bucket
if(letters.substring(let,let+1).compareToIgnoreCase(words.get(word).substring(0, 1)) == 0)
buckets.get(i).add(words.get(word));
}
let++;
}

return buckets;
}

最佳答案

那里的“26”只是表示数组列表经过优化以处理 26 个元素。它仍然是一个空数组列表,其中有零个元素。在 for (26) 循环的顶部,尝试添加 buckets.add(new ArrayList<>()); .

此外,您没有按照问题的要求进行操作;你循环输入 26 次,所提出的问题希望你只循环一次。 (因为这是家庭作业,如果我只是为你抓这条鱼,对你的教育没有任何帮助)。

关于java - 如何正确填充 ArrayList<String> 类型的 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60143164/

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