2011-10-05 24 views
3

代碼可能是什麼下面的PHP語法的Java等效代碼:的Java相當於下面的PHP代碼

$newPerson = array(
     'firstname' => 'First', 
     'lastname' => 'Last', 
     'email'  => '[email protected]', 
    ); 

我覺得這裏firstname是數組的索引和First是值那個index.How我可以這樣定義在java中的數組?

+0

http://stackoverflow.com/questions/5122913/java-associative-array – Jeff

回答

1
Map<String, String> newPerson = new HashMap<String, String>() 
{{ 
    put("firstname", "First"); 
    put("lastname", "Last"); 
    put("email", "[email protected]"); 
}}; 
2

我懷疑你會來最接近的是地圖:

Map<String, String> map = new HashMap<String, String>(); 
map.put("firstname", "First"); 
map.put("lastname", "Last"); 
map.put("email", "[email protected]"); 

編輯:如果您想保留插入順序(即你需要知道firstnamelastname前加入),那麼你可能想改爲使用LinkedHashMap

+0

可能是LinkedHashMap 更接近? –

+0

@Narendra:可能。這取決於訂單是否保存在PHP中 - 我不知道。將編輯。 –

+0

是的這是http://php.net/manual/en/language.types.array.php說數組是一個有序的地圖。 –

2

newPerson將是一個Java哈希表(java.util.HashMap<String,String>),你會明確地使用put

2
Map<String, String> newPerson = new HashMap<String, String>(); 
newPerson.put("firstname", "First"); 
newPerson.put("lastname", "Last"); 
newPerson.put("email", "[email protected]"); 
0

你也應該在有序
使用SortedMap存儲值與用戶定義的索引名插入 這裏是示例代碼來做到這一點
定義SortedMap有:

SortedMap<String, String>newPerson = new TreeMap<String, String>();

把價值短路使用地圖:
newPerson.put("firstname", "First");

,並獲得該值:
newPerson.get(""firstname");