Вопрос

У меня есть карта с ключом и ценностью, и моя цель - получить список «ключа». Я подумываю доставить его в массив или список. Дошел до точки, когда у меня есть значения ключей в наборе, но я не выяснил, как преобразовать в массив.

Ниже мой код:

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 :(
Это было полезно?

Решение

Использовать List.addAll метод?

http://www.salesforce.com/us/developer/docs/apexcode/index_left.htm#starttopic=content/apex_methods_system_list.htm?searchtype=stem

Если нет - вы всегда могли бы вручную пройти через набор ...

Другие советы

Не могли бы вы использовать:

Установить клавиши = mmm.keyset (); Список KeyList = новый список (ключи);

Вы всегда должны использовать дженерики для безопасности типа.

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 .

Это решение будет работать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top