假设我们定义了一个包含20个元素的数组。我们有什么方法可以向数组中添加一些对象,当然没有任何特定顺序,而不仅仅是String[] t= {"one", "two", ..., "twenty"}
一次?
String[] t = new String[20];
//I know this won't work
//but something like this:
//t = {"one", "two", "three"}
//and later, add some more
//t = {"four"} ...
答案 0 :(得分:2)
有几种方法可以初始化Array
,
String[] t = new String[20];
t[0] = "zero";
t[1] = "one";
您还可以使用System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从一个复制到另一个(如果这是您的意思)。这里将数组a
和b
连接到新的数组c
。
String[] a = {"Hello"};
String[] b = {"World"};
String[] c = new String[a.length+b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
System.out.println(Arrays.toString(c));
输出
[Hello, World]
答案 1 :(得分:1)
您无法更改数组的大小,但可以在特定位置指定元素。
t[3] = "four";
重新排序和记住阵列应该结束的位置可能会也可能不会变得很麻烦。
对于更灵活的"数组",人们喜欢使用java.util.ArrayList
。
答案 2 :(得分:1)
您可以指定像这样的值
t[10] = "ten";
t[11] = "eleven";
最好使用ArrayList,因此不需要先初始化大小,它也是动态的。
答案 3 :(得分:1)
不幸的是,这并不完全是java数组的工作方式。要实例化和初始化数组,请使用语法...
String[] t = new String[20];
t[0] = "One";
t[1] = "Two";
,或者
String[] t = {"One", "Two"};
如果您想要更多地控制阵列,我建议您使用ArrayList
对象,而不是添加,删除,更改,排序数组中的项目。例如,
ArrayList t = new ArrayList();
t.add("One");
t.add("Two");
t.remove(0);
答案 4 :(得分:1)
ArrayList是一个很好的选项,ArrayList支持可以根据需要增长的动态数组。
使用数组,您可以通过指定要添加的特定位置来添加元素
比如添加位置4我们可以做array[3] = "four"
之类的事情
但是为了更多的控制,建议使用arraylist
答案 5 :(得分:0)
不幸的是,Array应仅以下面的方式使用
String[] t = new String[20];
t[0] = "One";
t[1] = "Two";
...
t[19] = "Twenty";
您可以尝试使用arrayList:您甚至无需指定初始化时预期的元素数。
ArrayList t = new ArrayList();
t.add("One");
t.add("Two");
...
t.add("Twenty");