我遇到一个问题,我无法获取值进入我的数组列表的某个位置。我有用户输入成功地将字符串存储到变量中,但我不知道如何将它们放入数组的特定单元格。
代码:
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);
}
答案 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。