将Int和String参数传递给arrayList索引和String元素

时间:2018-07-31 23:15:35

标签: string arraylist indexing

import java.util.ArrayList;

public class DataBase {
    public ArrayList<String> nameList = new ArrayList<>();
    public void nameAdd(String s, int i) {
        if (i < nameList.size()){
            nameList.add(i, s);
            //string not adding to arrayList, ive probably done it wrong.
        }
        System.out.println(s);
        System.out.println("nameList.size = " + nameList.size());
        System.out.println("arrayList number = " + i);
    }
}

我已经编码大约一个月了,所以请原谅我,但是我基本上是想从我构建的GUI中提取一个字符串,将其切成一个名字,然后将该名字添加到用户单击另一个按钮以将其添加到“数据库”时。我已经能够增加应该为arrayList中的字符串设置索引的i,但是arrayList的大小并没有增加,因此我遇到了一堆错误,因此添加了if语句ive来阻止它尝试添加到尚未在arrayList中的索引。

1 个答案:

答案 0 :(得分:0)

在您的代码中,我看到您的数组nameList始终为空。

因为您有这行:

public ArrayList<String> nameList = new ArrayList<>();

此刻,您将创建数组(空),但是如果您第一次通过此方法,则可以使用nameAdd方法:

nameAdd('ADDFIRSTELEMENT', 0)

您的if状态始终为false

if (i < nameList.size()){
    nameList.add(i, s);
    //string not adding to arrayList, ive probably done it wrong.
}

您必须按照以下步骤更改支票:

if (i <= nameList.size())

由于索引的大小相同,因此可以在数组中添加元素。

如果需要,可以使用nameList ArrayList对象的contains方法,以便查看字符串是否存在于数组中