![](/img/trans.png)
[英]How to Insert string to a particular index in string array and shifting strings after that?
[英]How to append String at particular index in an array of Strings
我有一个如下所示的String
数组:
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"
到第一个阵列。
有没有办法基于索引或任何方式附加这些值,而不创建像上面的例子? (可能吗?)
也许我没有解决你的问题,但你可以使用ArrayList<String>
而不是简单的数组。 你可以这样做:
titles.add(1, "Shipper");
titles.add(2, "Book Quantity");
所以你基本上将标题的ArrayList<String>
添加到位置1和2的两个新元素。
不,你不能用普通数组做到这一点。
当你初始化这样的数组时
String[] titles = new String[] { "Booking", "Entry", "Type",
"Duration", "Status", "Contract ID",
"Capacity", "Start Day", "End Day", "Source Ref" };
数组的属性“一旦你初始化数组之后就不能改变数组的大小”*
所以在你的情况下你必须初始化新的数组....
或者您可以使用ArrayList
及其add(index, value)
方法,您可以在所需位置添加值。
但隐含它也使用Concept of Dynamic Array..
不,你不能。 数组不是动态的。 您需要创建一个新数组。 在创建数组之前必须知道大小。
String[] strings = new String[titles.length + 2];
strings[0] = "Booking";
strings[1] = "Shipper";
//...
要根据索引添加它们,您实际上需要创建一个新数组并映射旧数组中的所有值,并随时添加新值。
如果您使用的是ArrayList ,它会更容易,它具有可以在List中的任何索引处插入新值的insert
方法
例如:
ArrayList<String> myList = new ArrayList<>();
myList.add("Booking");
myList.add("Entry");
myList.add("Type");
myList.add("Duration");
myList.add("Status");
myList.add("Contract ID");
myList.add("Capacity");
myList.add("Start Day");
myList.add("End Day");
myList.add("Source Ref");
//insertion
myList.add(1, "Shipper");
mylist.add(2, "Booking Quantity");
您可以将字符串保存在ArrayList<String>
,然后使用.add(index, text)
方法
最好使用List<String>
并使用add()
方法。
您可以使用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的好处是您可以使用Iterator并执行各种操作,例如搜索特定条目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.