Java:将Map作为函数参数传递


Java: Passing a Map as a function parameter

我是Java新手,需要知道如何将关联数组(Map(作为函数中的单个参数传递。

以下是我想用Java做的事情,用PHP显示。

<?php
public class exampleClass {
 public function exampleFunction($exampleParam){
  if(isset($exampleParam['exampleKey'])){
   return true;
  }
  else {
   return false;
  }
 }
}
$ourMap = array(
 'exampleKey' => "yes, it is set"
);
$ourClass = new exampleClass();
$ourResult = $ourClass->exampleFunction($ourMap);
if(!$ourResult){
 echo "In Map";
}
else {
 echo "Not in Map";
}
?>
public boolean foo(Map<K,V> map) {
    ...
}

其中K是键的类型,V是值的类型。

请注意,Map只是一个接口,因此要创建这样的映射,您需要创建HashMap或类似的实例,如:

Map<K,V> map = new HashMap<K, V>();
foo(map);

另请参阅:

  • Java 6文档中的映射
  • Java 6文档中的HashMap
public class ExampleClass {
  public boolean exampleFunction(Map<String,String> exampleParam) {
    return exampleParam.containsKey("exampleKey");
  }
  public static void main(String[] args) {
    Map<String,String> ourMap = new HashMap<String,String>();
    ourMap.put("exampleKey", "yes, it is set");
    ExampleClass ourObject = new ExampleClass();
    boolean ourResult = ourObject.exampleFunction(ourMap);
    System.out.print(ourResult ? "In Map" : "Not in Map");
  }
}

如您所见,只需使用地图即可。