按索引删除Arraylist项目?

时间:2017-05-14 21:55:41

标签: java arraylist

所以我是编码新手,我正在尝试与arraylists合作。基本上在这个用户只输入一个字母,程序只显示这些字母的编号列表。我正在努力弄清楚如何通过它的索引删除一封信。这是代码示例:

String letter = letterInput.getText();

for (int i = 0; i < lettersList.size(); i++)
    {
        String letterListIndex = lettersList.get(i);
        if (letterListIndex.contains(letter));
        {
            lettersList.remove(letter);
        } 
    }

此代码似乎只是删除每隔一个字母,而不删除输入的数字。我一直在做的测试是输入:

&#34; 1。 H 2. B 3. K. L 5. J&#34;

如果我尝试通过输入4来删除L,它会删除1. H,3。K和5. J.我希望这有意义。

总的来说,我想知道如何通过它的索引号删除列表项。谁能帮我吗?

2 个答案:

答案 0 :(得分:1)

您正在传递remove一个String。如果要按索引删除,则需要int

废弃您的第一个完整for循环,然后执行:

int letterIndex = Integer.parseInt(letterInput.getText());
lettersList.remove(letterIndex);

这是您需要的所有代码

如果我有lettersList{"H", "B", "K", "L", "J"}

我需要做的就是致电lettersList.remove(4-1)(-1表示1个索引),lettersList现在是:{"H", "B", "K", "J"}

答案 1 :(得分:-2)

试试这个:

public static void main(String[] args) {
    int index = 4;
    String str = "abcdef";
    String result;
    if (str.length()>index);
    {
        result = str.substring(0, index) + str.substring(index+1);
    }
    System.out.println(result);
}

索引var是输入,它基于0。因此,如果您希望基于1,则可以设置index = index + 1