Salesforce Apex - mapa

Salesforce Apex - mapa

O mapa do Salesforce Apex é uma estrutura de dados usada principalmente em cenários de gatilho e ajuda a carregar mais dados de cada vez no banco de dados do Salesforce, como uma lista. Mas ele armazena e organiza os dados no formato Key: Value. Discutiremos a coleta de mapas na linguagem de programação do ápice e seus métodos. Aqui, usaremos o objeto padrão da conta no Salesforce para todos os exemplos. Vamos mergulhar rapidamente neste tutorial.

Mapa

O mapa pega os dados key: value como entrada e armazena -os no padrão Salesforce ou objetos personalizados. Pode tomar o Sobject como a chave ou o valor.

Criação de mapas

Ao especificar os tipos de dados da chave e valor junto com o nome do objeto, o mapa pode ser criado. Aqui, uma nova palavra -chave é usada para criá -la. Pode ser opcional passar os elementos durante a criação.

Sintaxe do mapa vazio:

Mapa map_obj = new map ():

Sintaxe genérica:

Mapa map_obj = novo mapa
Chave => valor,…;

Sintaxe Sobject:

Mapa map_obj = novo mapa
Chave => valor,…;

Aqui, o Sobject pode ser um objeto padrão ou personalizado. Em todo o artigo, vamos lidar apenas com o mapa com a "conta" Sobject.

Vamos ver os métodos que são suportados pela coleção “mapa” do Apex um por um.

Configuração do ambiente

1. Faça login rapidamente no Salesforce e abra o "console do desenvolvedor" clicando no ícone de engrenagem.

2. Em seguida, abra a "janela anônima" clicando em "Debug" e "Open Execute Anonymous Window".

Exemplo genérico:

Primeiro, veremos a criação de mapa genérico criando um mapa com dois assuntos: o "sujeito_id", que atua como uma chave e "valor" como o nome do sujeito.

Programação do mapa = novo mapa 1 => 'Linux', 2 => 'Python';
sistema.depuração (programação);

Saída:

  1. Clique em "Execute".
  2. Verifique a opção "apenas depuração". Você pode ver a saída no "log de execução".

Métodos de mapa

Primeiro, criamos um mapa a partir do objeto "conta". Criamos três contas com nomes um por um. Em seguida, declaramos um mapa com a chave e valor como digite e passe as três contas anteriores para o mapa, fornecendo alguns valores.

// Crie 3 contas com nome
Conta de conta1 = nova conta (nome = 'dica linux');
Conta de conta2 = nova conta (nome = 'salesforce');
Conta de conta3 = nova conta (nome = 'python');
// Adicione as contas acima como chaves ao map_obj
Mapa map_obj = novo mapa
conta1 => 1000, conta2 => 2000, conta3 => 3000;
Sistema.Debug (map_obj);

Saída:

Você pode ver que "map_obj" armazena três contas.

Mapa.valores ()

Para retornar apenas os valores do mapa dado, podemos usar o método valores (). Não é preciso parâmetros. Ele simplesmente retorna a lista de valores separados por vírgula.

Sintaxe:

map_object.valores ()

Exemplo:

Vamos retornar todos os valores do mapa anterior. Verifique se você precisa executar o código de exemplo anterior (crie um mapa com três contas). Caso contrário, você receberá um erro. O código também deve existir no console.

// retorna valores para todas as chaves usando valores ()
Sistema.Debug (map_obj.valores ());

Saída:

Existem apenas três chave: pares de valor no map_obj. Os valores são: 1000, 2000 e 3000.

Mapa.conjunto de chaves()

Retornar as chaves estão presentes no objeto de mapa. Semelhante a valores (), não há necessidade de passar nenhum parâmetro para este método.

Sintaxe:

map_object.conjunto de chaves()

Exemplo:

Vamos retornar todas as chaves do mapa anterior. Certifique -se de executar o código de exemplo anterior (crie um mapa com três contas). Caso contrário, você receberá um erro. O código também deve existir no console.

// retorna todas as teclas usando o KeySet ()
Sistema.Debug (map_obj.conjunto de chaves());

Saída:

Existem apenas três chave: pares de valor no map_obj. As chaves são: conta: name = linux dica, conta: name = python e conta: name = salesforce.

Mapa.tamanho()

Em alguns cenários, precisamos conhecer os pares totais de itens (chave: valor) que estão presentes no mapa do ápice. Size () é o método que retorna os pares totais (chave: valor) que existem no map_object. Parâmetros não são necessários para este método.

Sintaxe:

map_object.tamanho()

Exemplo:

Retorne o tamanho do objeto de mapa anterior.

// retorna o número total de pares usando tamanho ()
Sistema.Debug (map_obj.tamanho());

Saída:

Como existem apenas 3 pares, o tamanho retornado () é 3.

Mapa.pegar()

Acessando os valores do mapa usando a chave é feito usando o método get (). Para fazer isso, precisamos passar a chave como um parâmetro para o método get (). Se uma chave desconhecida for passada, ele retornará um erro.

Sintaxe:

map_object.Obtenha (chave)

Exemplo:

Retorne os valores de Key-2 e Key-1 separadamente.

// obtenha o valor da segunda chave
Sistema.Debug (map_obj.get (conta2));
// obtenha o valor da primeira chave
Sistema.Debug (map_obj.get (conta1));

Saída:

Aqui, 2000 é o valor da chave "Salesforce" e 1000 é o valor da chave "Linux Dint".

Mapa.claro()

Todos os pares em uma coleção de mapas do ápice podem ser excluídos de cada vez usando o método clear (). Não é preciso parâmetros.

Sintaxe:

map_object.claro()

Exemplo:

Remova os pares no "map_obj" anterior.

// antes de clare ()
Sistema.Debug (map_obj);
// Remova todos os pares usando claro ()
map_obj.claro();
// depois de claro ()
Sistema.Debug (map_obj);

Saída:

Anteriormente, existem 3 pares de valor-chave no "map_obj". Depois de aplicar o método clear (), todos os 3 são excluídos.

Mapa.é igual a()

Podemos comparar dois objetos de mapa usando o método iguals (). O valor booleano do verdadeiro é retornado se todas as chaves e valores forem iguais nos dois objetos de mapa. Enquanto o valor booleano de false é retornado se pelo menos um valor for diferente.

Sintaxe:

map_object1.igual a (map_object2)

Exemplo:

Vamos criar três objetos de mapa com uma chave: par de valores, cada um em relação ao objeto "conta". Compare esses objetos entre eles.

// Conta-1
Conta de conta1 = nova conta (nome = 'dica linux');
Mapa map_obj1 = novo mapa
conta1 => 1000;
Sistema.Debug ('mapa - 1:' + map_obj1);
// Conta-2
Conta de conta2 = nova conta (nome = 'linux dica');
Mapa map_obj2 = novo mapa
conta2 => 1000;
Sistema.Debug ('mapa - 2:' + map_obj1);
// Conta-3
Conta de conta3 = nova conta (nome = 'python');
Mapa map_obj3 = novo mapa
conta3 => 2000;
Sistema.Debug ('mapa - 3:' + map_obj3);
// é igual a()
Sistema.Debug ('mapa 1 e mapa 2 são iguais:'+ map_obj1.igual a (map_obj2));
Sistema.Debug ('mapa 1 e mapa 3 são iguais:'+ map_obj1.igual a (map_obj3));

Saída:

O primeiro e o segundo mapa objetos são iguais, pois as chaves e os valores são iguais nos dois objetos. O primeiro e o terceiro mapa objetos não são iguais, pois as chaves e os valores são diferentes.

Mapa.está vazia()

Podemos verificar se o mapa está vazio ou não usando o método isEmpty (). True é devolvido se a coleção de mapas do ápice estiver vazia. Caso contrário, False é devolvido. Semelhante ao método size (), não será necessário nenhum parâmetro.

Sintaxe:

map_object.está vazia()

Exemplo:

Vamos criar dois objetos de mapa que estão relacionados a "conta" e verificar se esses dois estão vazios ou não.

// Conta-1
Conta de conta1 = nova conta (nome = 'dica linux');
Mapa map_obj1 = novo mapa
conta1 => 1000;
// Conta-2
Mapa map_obj2 = new map ();
// está vazia()
Sistema.Debug ('mapa-1 está vazio:'+map_obj1.está vazia());
Sistema.Debug ('mapa-2 está vazio:'+map_obj2.está vazia());

Saída:

O primeiro mapa não está vazio, pois contém um par de valores-chave. O segundo mapa está vazio, pois não possui nenhum.

Mapa.remover()

O método Remone () na coleção de mapas do ápice é usado para remover um par de valores-chave específico com base na chave que é especificada como um parâmetro. Se a chave não existir, um erro será levantado.

Sintaxe:

map_object.Remover (chave)

Exemplo:

Vamos criar um mapa com dois itens e remover o primeiro item.

Conta de conta1 = nova conta (nome = 'dica linux');
Conta de conta2 = nova conta (nome = 'python');
Mapa map_obj = novo mapa
conta1 => 1000, conta2 => 4000;
Sistema.Debug ('mapa existente'+ map_obj);
//remover()
map_obj.remover (conta1);
Sistema.Debug ('Depois de remover o primeiro item:'+map_obj);

Saída:

Depois de remover o primeiro item do mapa, existe apenas um item - conta: name = python = 4000.

Mapa.colocar()

Usando este método, podemos adicionar diretamente um item ao objeto de mapa em um momento. Ele aceita dois parâmetros: "chave" é o primeiro parâmetro, enquanto "valor" é o segundo parâmetro.

Sintaxe:

map_object.Put (chave, valor)

Exemplo:

Vamos criar um mapa com um par de valores-chave. Em seguida, usamos o método "put" para inserir "conta2".

// Conta-1
Conta de conta1 = nova conta (nome = 'dica linux');
Mapa map_obj1 = novo mapa
conta1 => 1000;
Sistema.Debug ('mapa real:'+map_obj1);
// Conta-2
Conta de conta2 = nova conta (nome = 'python');
// colocar()
map_obj1.put (conta2,2000);
Sistema.Debug ('Mapa final:'+map_obj1);

Saída:

Anteriormente, existe apenas um par de valores-chave no mapa que é conta: name = linux dica = 1000. Depois de adicionar "Account2", o mapa final contém dois pares de valor-chave que são conta: name = linux dica = 1000 e conta: name = python = 2000.

Mapa.Ponha tudo()

Usando este método, podemos adicionar diretamente um único ou vários itens ao objeto de mapa em um momento. É preciso um objeto de coleta de mapa como um parâmetro.

Sintaxe:

map_object1.Putall (map_object2)

Exemplo:

Vamos criar um mapa com dois pares de valor-chave e criar um objeto de mapa vazio novamente sem itens. Use o método PUTALL () para adicionar os itens disponíveis no primeiro objeto de mapa ao segundo objeto de mapa.

Conta de conta1 = nova conta (nome = 'dica linux');
Conta de conta2 = nova conta (nome = 'python');
Mapa map_obj1 = novo mapa
conta1 => 1000, conta2 => 2000;
Sistema.Debug (map_obj1);
Mapa map_obj2 = new map ();
//Ponha tudo()
map_obj2.PUTALL (MAP_OBJ1);
Sistema.Debug (map_obj2);

Saída:

Conclusão

O MAP é uma estrutura de dados usada principalmente em cenários de gatilho e ajuda a carregar mais dados de cada vez no banco de dados do Salesforce, como uma lista. Temos duas opções para adicionar os itens ao mapa: usando put () e Putall (). O método Remone () é usado para remover um item específico da coleção de mapas do ápice. O método clear () é usado para excluir todos os itens. Além disso, aprendemos a retornar os valores e as chaves usando os métodos valores () e keyset ().