Java 将名称-值对附加到另一个名称-值对

Java 将名称-值对附加到另一个名称-值对,java,namevaluecollection,Java,Namevaluecollection,以下是调用方法的代码- NameValuePair[] data = { new NameValuePair("first_name", firstName), new NameValuePair("last_name", lastName), new NameValuePair("email", email), new NameValuePair("company", organization), new Name

以下是调用方法的代码-

NameValuePair[] data = {
        new NameValuePair("first_name", firstName),
        new NameValuePair("last_name", lastName),
        new NameValuePair("email", email),
        new NameValuePair("company", organization),
        new NameValuePair("phone", phone)
    };
    SalesForceFormSubmissionUtil.submitForm(data,CONTACT_FOR_TYPE);
  public static void submitForm(NameValuePair[] givendata, String contactType) {
    HttpClient client = new HttpClient();
    PostMethod post = new PostMethod(Constants.SALESFORCE_URL);
    NameValuePair[] data = {
        new NameValuePair("oid", Constants.SALESFORCE_OID),
        new NameValuePair(Constants.SALESFORCE_CAMPAIGN_ID, contactType)
    };
    post.setRequestBody(data);
在被调用的方法中-

NameValuePair[] data = {
        new NameValuePair("first_name", firstName),
        new NameValuePair("last_name", lastName),
        new NameValuePair("email", email),
        new NameValuePair("company", organization),
        new NameValuePair("phone", phone)
    };
    SalesForceFormSubmissionUtil.submitForm(data,CONTACT_FOR_TYPE);
  public static void submitForm(NameValuePair[] givendata, String contactType) {
    HttpClient client = new HttpClient();
    PostMethod post = new PostMethod(Constants.SALESFORCE_URL);
    NameValuePair[] data = {
        new NameValuePair("oid", Constants.SALESFORCE_OID),
        new NameValuePair(Constants.SALESFORCE_CAMPAIGN_ID, contactType)
    };
    post.setRequestBody(data);

我想添加givendata和data,并将其作为post请求发送。你们能建议我如何附加这两个数组吗。

如果你只想组合这两个数组,你可以创建第三个数组combinedData,大小为givenData.length+data.length,然后你必须从源数组复制元素

但是,有很多其他的方法可以解决这个问题,例如:;下面是一个使用ArrayList作为中间人/助手的实现

String[] A1 = {"hello","world"};
String[] A2 = {"I","am","bored"};

...

ArrayList<String> temp = new ArrayList<String> (A1.length + A2.length);

temp.addAll (Arrays.asList (A1));
temp.addAll (Arrays.asList (A2));

String[] A3 = temp.toArray (new String[temp.size ()]);

...

for (int i=0; i < A3.length; ++i)
  System.out.println (A3[i]);

Thanx为您提供解决方案参考。。一个小小的疑问-我们是否可以声明一个动态数组临时数组,而不提及具体的大小。不,数组的大小是固定的。如果需要与数组非常相似的动态容器,请使用。您不必在上面的代码片段中指定temp的长度,我这样做只是为了显示最合适的优化方式。