将字符串输入到ArrayList中

时间:2012-12-27 03:51:03

标签: java

我遇到一个问题,我无法获取值进入我的数组列表的某个位置。我有用户输入成功地将字符串存储到变量中,但我不知道如何将它们放入数组的特定单元格。

代码:

 public void newAccount() {
     firstName = JOptionPane.showInputDialog("What's your first name?");
     nLastName = JOptionPane.showInputDialog("What's your last name?");
     nAddress = JOptionPane.showInputDialog("What's your current address?");
     nCity= JOptionPane.showInputDialog("What's your current city?");
     nState = JOptionPane.showInputDialog("What's your current State?");
     nZipCode = JOptionPane.showInputDialog("What's your current Zip Code?");
     account.add( accountNumber, firstName);
     account.add( accountNumber, nLastName);
     account.add( accountNumber, nAddress);
     account.add( accountNumber, nCity);
     account.add( accountNumber, nState);
     account.add(accountNumber, nZipCode); 
}

4 个答案:

答案 0 :(得分:1)

您想使用以下add method的ArrayList,执行以下操作可以在指定的索引处放置一个条目:

ArrayList al = new ArrayList();  
al.add(index, object);

另外需要注意的是,请记住Java中的索引是基于0的。

答案 1 :(得分:0)

account变量的类型是什么?如果它是一个ArrayList,那么您的设计已关闭,因为您不希望将String添加到ArrayList以表示单个Account对象。这充满了错误,其中最重要的是存在无序添加内容的风险。相反,您应该创建一个Account类,其中包含您当前尝试添加到数组列表中的值的字段。

public class Account {
  private String firstName;
  private String lastName;
  // .... etc

  public Account(String firstName, String lastName, .... etc...) {
    this.firstName = firstName;
    this.lastName = lastName;
    // .... etc...

  }

然后,您可以创建一个Account对象,将上面的值传入其构造函数。

Account newAccount = new Account("John", "Smith", ..... etc...);

然后你可以拥有一个Account对象的ArrayList,或者更好地表示为ArrayList<Account>,并轻松地将单个Account对象添加到这个列表中。

答案 2 :(得分:0)

我假设您使用和ArrayList ...使用add()的第二个方法,第一个参数接受将添加新值的索引

account.add(index,value);

其中index是一个整数,它将定义将存储在ArrayList中的value索引

因为value可以是一个对象,那么您可以创建一个类对象并将其保存到value 例如

List<AccountItem> = new ArrayList<AccountItem>();

class AccountItem(){
   public String firstname;
   public String lastname;
}

AccountItem ai = new AccountItem();
ai.firstname= "you";
ai.lastname = "me";

account.add(2,ai); //where i save the new object in index 2

答案 3 :(得分:0)

如果变量帐户是Arraylist,那么您错误地使用它。您只是将ZipCode添加到位置帐号的arraylist。

您应该创建一个帐户对象,其中包含名字和姓氏,邮政编码等。

然后将此帐户对象放入Arraylist中。这样你就会有一个填充了帐户对象的Arraylist。