2010-12-02 11 views
2

私はキーと値のマップを持っています。私の目標は「キー」のリストを得ることです。 私は配列またはリストにそれを取得することを考えています。 SETにキー値がありますが、配列に変換する方法を把握していない点があります。 以下SETをAPEXの配列に変換するにはどうすればよいですか?

は私のコードです:

Map<String, String> mmm = new Map<String, String>(); 
mmm.put('one', 'oneee'); 
mmm.put('two', 'twooo'); 
mmm.put('three', 'threeee'); 
mmm.put('four', 'fourff'); 

//outputs values in the map 
system.debug('=======values()==========>' + mmm.values()); 
//outputs key in the map 
system.debug('=======keyset()===========>' + mmm.keyset()); 

//get keys in the type SET 
SET<string> s = mmm.keyset(); 
//returns 4 
system.debug('------------------------------------' + s.size()); 

s.arrayTo() //this method does not exist :(
+0

ここに来て「Set」の答えを探している人なら誰でも。質問は 'Set'について質問するが、コード例は' Map'を使う。この解決策は 'keyset()'に言及していますが、これは 'Set'には存在しません。 'Set'を' List'に変換する必要があるならば、私がやっていることは、代わりに 'Map'を使って、' Set'機能を複製するキーとして値を追加することです。 –

答えて

4

List.addAllメソッドを使用しますか?

http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/apex_methods_system_list.htm?SearchType=Stem

ない場合 - あなたは可能性が常にセットによる手動ループ...

+2

はい、keyset()呼び出しで値を取得した後でも、for(String s:keys)は繰り返し処理にも使用できます。ヒントをありがとう! –

+0

私はfor(String s:keys)が一番うまくいくのが好きです。 – tomdemuyt

0

あなたが使用できます。

設定キー= mmm.keySetを(); List keyList =新しいリスト(キー);

0

あなたは、常に型の安全性のためにジェネリック医薬品を使用する必要があります。

Map<String, String> mmm = new Map<String, String>(); 
mmm.put('one', 'oneee'); 
mmm.put('two', 'twooo'); 
mmm.put('three', 'threeee'); 
mmm.put('four', 'fourff'); 

List<String> lstKeys = new List<String>(mmm.keyset()); 
System.debug('Output : '+lstKeys); 

リンクごとに:https://salesforce.stackexchange.com/questions/5447/is-there-a-difference-between-an-array-and-a-list-in-apex

この解決策は機能します。

関連する問題