Java 如何在字符串数组中的特定索引处追加字符串
我有一个Java 如何在字符串数组中的特定索引处追加字符串,java,string,append,arrays,Java,String,Append,Arrays,我有一个字符串数组,如下所示: String[] titles = new String[] { "Booking", "Entry", "Type", "Duration", "Status", "Contract ID", "Capacity", "Start Day", "End Day", "Source Ref" }; titles = new String[] { "Booking", "Shipper
字符串数组,如下所示:
String[] titles = new String[] { "Booking", "Entry", "Type",
"Duration", "Status", "Contract ID",
"Capacity", "Start Day", "End Day", "Source Ref" };
titles = new String[] { "Booking", "Shipper", "Booking Quantity", "Entry",
"Type", "Duration", "Status",
"Contract ID", "Capacity", "Start Day",
"End Day", "Source Ref" };
我需要在以后的状态中将更多的值附加到此数组,如下所示:
String[] titles = new String[] { "Booking", "Entry", "Type",
"Duration", "Status", "Contract ID",
"Capacity", "Start Day", "End Day", "Source Ref" };
titles = new String[] { "Booking", "Shipper", "Booking Quantity", "Entry",
"Type", "Duration", "Status",
"Contract ID", "Capacity", "Start Day",
"End Day", "Source Ref" };
在这里,我在第一个数组中添加了“Shipper”,“Booking Quantity”
是否有任何方法可以基于索引或任何方式附加这些值,而不创建上面的示例?(有可能吗?您可以将字符串保存在数组列表中,然后使用。添加(索引,文本)
方法最好使用列表
,只使用添加()
方法 不,你不能。数组不是动态的。您需要创建一个新数组。在创建数组之前,必须知道大小
String[] strings = new String[titles.length + 2];
strings[0] = "Booking";
strings[1] = "Shipper";
//...
要基于索引添加它们,实际上需要创建一个新数组,映射旧数组中的所有值,并在运行时添加新值
如果您使用的是,它有一个insert
方法,可以在列表中的任何索引处插入新值,这会容易得多
例:
ArrayList myList=new ArrayList();
myList.添加(“预订”);
myList.添加(“条目”);
myList.add(“类型”);
myList.添加(“期限”);
myList.add(“状态”);
myList.add(“合同ID”);
myList.添加(“容量”);
myList.add(“开始日”);
myList.add(“结束日”);
myList.add(“源参考”);
//插入
myList.添加(1,“托运人”);
我的列表。添加(2,“预订数量”);
也许我没有正确回答你的问题,但是你可以使用ArrayList
而不是简单的数组。您可以这样做:
titles.add(1, "Shipper");
titles.add(2, "Book Quantity");
因此,您基本上将位置1和2处的两个新元素添加到标题的ArrayList
不,普通数组不能这样做。初始化这样的数组时
String[] titles = new String[] { "Booking", "Entry", "Type",
"Duration", "Status", "Contract ID",
"Capacity", "Start Day", "End Day", "Source Ref" };
属性“*
因此,在您的情况下,您必须初始化新数组……
或者您可以使用ArrayList
并使用其add(index,value)
方法,您可以根据需要添加您的值
位置..
但它也使用动态数组的概念。
您可以按如下方式使用ArrayList:
ArrayList titleList = new ArrayList<String>();
titleList.add("Shipper");
titleList.add("Booking");
titleList.add("Entry");
titleList.add("Type");
titleList.add("Duration");
titleList.add("Status");
titleList.add("Contract");
titleList.add("ID");
//....
titleList.add(1,"Shipper")
titleList.add(2,"Booking quality");
ArrayList titleList=新的ArrayList();
标题列表。添加(“托运人”);
标题列表。添加(“预订”);
标题列表。添加(“条目”);
标题列表。添加(“类型”);
标题列表。添加(“期限”);
标题列表。添加(“状态”);
标题列表。添加(“合同”);
标题列表。添加(“ID”);
//....
标题列表。添加(1,“托运人”)
标题列表。添加(2,“预订质量”);
使用ArrayList的好处是,您可以使用迭代器,并可以执行各种操作,如搜索特定条目。+1查找数组行的属性。这应该是不使用阵列的原因。我将我的阵列更改为列表,并进行适当的更改,然后再次转换为阵列。谢谢大家。