String loginInfo[][] = { { "mason", "dragon" }, //First Column is usernames, second is passwords.
{ "shay", "stowers" },
{ "admin", "password" }, };
这是我的数组,第一个col中有用户名,第二个col中有密码。我希望能够在用户提交两个字符串后向该数组添加另一行。
示例...
String input1 =“username”,String input2 =“password”;
我想把这两个字符串作为一行添加到数组中。所以我的最终结果看起来像这样..
String loginInfo[][] = { { "mason", "dragon" },
{ "shay", "stowers" },
{ "admin", "password" },
{ "username", "password" }, };//This coming from input1 and input2
答案 0 :(得分:1)
阵列不可更改。它们是最初给出的长度。您有两种选择:
编辑: 选项1的示例:
string[ ][ ] newloginInfo = new int[loginInfo.length * 2][2];
for (int i = 0; i < loginInfo.length; i++) {
System.arraycopy(loginInfo[i], 0, newloginInfo[i], 0, loginInfo[0].length);
}
//now there is room for twice as many rows. Add as usual.
选项2的示例: 只需使用Generic列表而不是数组:
List<List<of string>> list = new ArrayList<List<of String>();
然后你只需调用list.add添加一个新数组:
List<of string> newrow = new ArrayList<of string>();
list.add(newrow);
道歉 - 未经过测试或抛入ide - 请检查语法。
编辑2: Octopus建议有一个对象,然后存储这些对象的列表,这实际上是要走的路而不是处理多维数组 - 除非你有一个非常好的理由不使用它。它更干净,更有条理,您的IDE将在intellisense中获取详细信息。
答案 1 :(得分:1)
使用您的用户信息JavaBean的ArrayList的理想场所,如
List<UserInfo> userInfo = new ArrayList<UserInfo>();
每当您收到userName
和passWord
时,请创建UserInfo
的实例并将其添加到列表中
UserInfo
类如下
class UserInfo{
private String userName = null;
private String passWord = null;
// add a constructor
public UserInfo(String userName, String passWord){
this.userName = userName;
this.passWord = passWord;
}
//add setters and getters
...
...
}
检查出来。你会喜欢它
免责声明:未经测试。只是一个原型!