Activity Forums Salesforce® Discussions How can I efficiently generate a Set from a List structure in salesforce?

  • Kumar

    Member
    December 14, 2016 at 12:18 pm

    Hi all,

    I have a bit of code where I've written a SOQL query that returns a list of SObject records, however I need a Set<Id> structure to pass to another method that I don't have control of (and thus can't change the method signature of).

    How can I turn my returned List<SObject> into a Set<Id>? Is the best option just a for loop? Any guidance is appreciated.

    Thanks

  • sushant

    Member
    January 17, 2017 at 2:40 pm

    Hi Kumar,

    You can do this like as follows:

    List<Account> accounts = [
    SELECT
    Id
    FROM
    Account
    ];

    Set<Id> accountIds = new Set<Id>();
    for(Account acc:accounts){
    accountIds.add(acc.Id);
    }

    Thanks

  • Charan Tej

    Member
    January 2, 2018 at 12:37 pm

    In addition to Susant anwer, you can also use this code.

    Map<Id, Account> mpAccounts = new Map<Id,Account>([Select id, name from Account]);
    You can use mpAccounts.keyset() which will give you a set collection of Ids.

Viewing 1 - 3 of 3 posts

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos