如何将hashmap值传递给函数

时间:2014-04-02 08:52:19

标签: java hashmap

我在我的函数中使用了elipses:

public static void test(int parameter1, HashMap... args) {
        System.out.print("\n" + parameter1);

}

想直接使用hashMap值调用此函数:test(2,{test1=test1, test=test})

我想要的最终方案是将不同的键值对传递给函数,并希望在函数中访问它们。

test(2,key1=value1,key2=value2,key3=value3 ....等等。可以建议任何数据类型而不是HashMap。

3 个答案:

答案 0 :(得分:3)

elipses意味着你可以传递一些HashMaps。我不认为这是你打算做的。 如果这是您想要的,您可以传入整个HashMap。或者你可以从HashMap中检索值,并传递它们。但是如果你想要键/值对,那么最好只传入整个HashMap。

答案 1 :(得分:1)

在Java中,您可以使用以下

test(2, new HashMap() {{put("test1", "test1");
                       put("test", "test");}});

答案 2 :(得分:0)

您的功能(使用String作为类型):

private static void test(final Pair<String, String>... args) {
    for (Pair<String, String> p : args) {
        System.out.printf("%s=%s\n", p.getKey(), p.getValue());
    }
}

示例电话:

test(new Pair<String, String>("test1", "test1"),
     new Pair<String, String>("test", "test")
);

此示例的输出:

test1=test1
test=test