2017-05-02 11 views
0

私はMap<String, Object> results = {Id=10001,Value=7777},どのように(Key1 = Value1、Key2 = Value2)のマップをApexの(Value1 = Valu2)のマップに変換できますか?

map{10001=7777}と入力します。

これは私が試みたものです: -

Map<String,String> TraversedResultMap = new Map<String,String>();    
for (String s : results.KeySet()) {   
    TraversedResultMap.put(String.valueOf((String)results.get(s)),String.valueOf((String)results.get(s))); 
} 
system.debug('###TRAVERSED RESULT'+TraversedResultMap); 

しかし、私はO/Pを取得しています:あなたはあなたのforループ内の値としてキーを挿入していない{10001=10001,7777=7777}

答えて

0

。そのため、あなたは同じキーと値のペアを取得しています。

コード以下を参照してください。

Map<String,String> TraversedResultMap = new Map<String,String>();    
for (String s : results.KeySet()) {   
    // here key: String.valueOf((String)results.get(s)) 
    // and Value: s 
    TraversedResultMap.put(String.valueOf((String)results.get(s)),s); 
} 
system.debug('###TRAVERSED RESULT'+TraversedResultMap);