java怎么动态的往一个字符串数组里加入字符串元素,
答案:7 悬赏:30 手机版
解决时间 2021-01-12 15:46
- 提问者网友:太高姿态
- 2021-01-11 19:35
java怎么动态的往一个字符串数组里加入字符串元素,
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-01-11 20:41
使用:System.arraycopy(src, srcPos, dest, destPos, length)
String [] arr1 = new String[]{ "1", "2" };
String [] arr2 = new String[3];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
使用ArrayList,不用这么麻烦。
String [] arr1 = new String[]{ "1", "2" };
String [] arr2 = new String[3];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
使用ArrayList
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-01-12 01:46
你可以使用数组列表,自动改变数组的大小
- 2楼网友:怙棘
- 2021-01-12 00:19
StringBuilder sb =new StringBuilder();
sb.append(1).append("2");
append后面能加各种类型的值。
sb.append(1).append("2");
append后面能加各种类型的值。
- 3楼网友:琴狂剑也妄
- 2021-01-11 23:49
用临时数组,添加、合并。
- 4楼网友:鱼忧
- 2021-01-11 23:40
String[] m = new String[0];
for(int i = 0; i < 10 ;i ++){
String[] temp = new String [m.length + 1];
for(int j = 0; j < m.length;j ++){
temp[j] = m[j];
}
temp[temp.length - 1] = i+"";
m = temp;
for(int k = 0; k < m.length;k++){
System.out.print(m[k] + " : ");
}
System.out.println("");
}
效果:
0 :
0 : 1 :
0 : 1 : 2 :
0 : 1 : 2 : 3 :
0 : 1 : 2 : 3 : 4 :
0 : 1 : 2 : 3 : 4 : 5 :
0 : 1 : 2 : 3 : 4 : 5 : 6 :
0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 :
0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 :
0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 :
希望您采纳
for(int i = 0; i < 10 ;i ++){
String[] temp = new String [m.length + 1];
for(int j = 0; j < m.length;j ++){
temp[j] = m[j];
}
temp[temp.length - 1] = i+"";
m = temp;
for(int k = 0; k < m.length;k++){
System.out.print(m[k] + " : ");
}
System.out.println("");
}
效果:
0 :
0 : 1 :
0 : 1 : 2 :
0 : 1 : 2 : 3 :
0 : 1 : 2 : 3 : 4 :
0 : 1 : 2 : 3 : 4 : 5 :
0 : 1 : 2 : 3 : 4 : 5 : 6 :
0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 :
0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 :
0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 :
希望您采纳
- 5楼网友:醉吻情书
- 2021-01-11 22:40
希望把标题能把问题说明白,什么叫动态往一个字符串数据组里加入元素?我可以理解为你new一个数组之后,给这个数组赋值么?比如:String [] arr = new String[20];
for (int i=0; i< arr.length; i++) {
arr[i] = "i = " + i;//这里是赋值,是这个意思么?
}
- 6楼网友:雪起风沙痕
- 2021-01-11 22:01
1.创建按一个新数组,新数组的长度比现在的大1个
2.将老数组的内容copy到新数组中
3.给新数组的最后一个元素赋值为 插入的字符串
4.删除老数组,(GC处理)
5,给你个例子,你看看
import java.util.Arrays;
public class $
{
public static void main(String[] args)
{
String[] arr = { "1", "2" };
System.out.println(Arrays.deepToString(arr));
arr = insert(arr, "a");
System.out.println(Arrays.deepToString(arr));
arr = insert(arr, "b");
System.out.println(Arrays.deepToString(arr));
}
private static String[] insert(String[] arr, String str)
{
int size = arr.length;
String[] tmp = new String[size + 1];
System.arraycopy(arr, 0, tmp, 0, size);
tmp[size] = str;
return tmp;
}
}
结果
[1, 2]
[1, 2, a]
[1, 2, a, b]
2.将老数组的内容copy到新数组中
3.给新数组的最后一个元素赋值为 插入的字符串
4.删除老数组,(GC处理)
5,给你个例子,你看看
import java.util.Arrays;
public class $
{
public static void main(String[] args)
{
String[] arr = { "1", "2" };
System.out.println(Arrays.deepToString(arr));
arr = insert(arr, "a");
System.out.println(Arrays.deepToString(arr));
arr = insert(arr, "b");
System.out.println(Arrays.deepToString(arr));
}
private static String[] insert(String[] arr, String str)
{
int size = arr.length;
String[] tmp = new String[size + 1];
System.arraycopy(arr, 0, tmp, 0, size);
tmp[size] = str;
return tmp;
}
}
结果
[1, 2]
[1, 2, a]
[1, 2, a, b]
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯