Salesforce Apex – Peta

Salesforce Apex Peta



Peta Salesforce Apex ialah struktur data yang digunakan terutamanya dalam senario pencetus dan membantu memuatkan lebih banyak data pada satu masa ke dalam pangkalan data Salesforce seperti senarai. Tetapi ia menyimpan dan menyusun data dalam format pasangan {key:value}. Kami akan membincangkan koleksi peta dalam bahasa pengaturcaraan Apex dan kaedahnya. Di sini, kami akan menggunakan objek standard Akaun dalam Salesforce untuk semua contoh. Mari selami tutorial ini dengan cepat.

Peta

Map mengambil data pasangan {key:value} sebagai input dan menyimpannya ke dalam objek standard atau tersuai Salesforce. Ia boleh mengambil sObject sebagai kunci atau nilai.







Penciptaan Peta

Dengan menentukan jenis data kunci dan nilai bersama-sama dengan nama objek, peta boleh dibuat. Di sini, kata kunci baharu digunakan untuk menciptanya. Ia boleh menjadi pilihan untuk lulus elemen semasa penciptaan.



Sintaks Peta Kosong:

Peta map_obj = new Map():

Sintaks Generik:

Peta map_obj = new Map{

Kunci => nilai,....};

Sintaks sObject:

Map map_obj = new Map{

Kunci => nilai,....};

Di sini, sObject boleh menjadi objek standard atau tersuai. Dalam keseluruhan artikel ini, kami hanya akan berurusan dengan peta dengan sObject 'Akaun'.



Mari lihat kaedah yang disokong oleh koleksi 'peta' Apex satu persatu.





Persediaan Persekitaran

1. Log masuk ke Salesforce dengan pantas dan buka 'Developer Console' dengan mengklik ikon gear.



2. Kemudian, buka 'Tetingkap Tanpa Nama' dengan mengklik pada 'Nyahpepijat' dan 'Buka Tetingkap Tanpa Nama'.

Contoh Generik:

Pertama, kita akan melihat penciptaan peta generik dengan mencipta peta dengan dua subjek: 'subject_id' yang bertindak sebagai kunci dan 'value' sebagai nama subjek.

Map programming=new Map {1=> 'Linux',2=> 'Python'};

system.debug(pengaturcaraan);

Pengeluaran:

  1. Klik pada “Laksanakan”.
  2. Semak pilihan 'Nyahpepijat Sahaja'. Anda boleh melihat output dalam 'Log Pelaksanaan'.

Kaedah Peta

Mula-mula, kami mencipta peta daripada objek 'Akaun'. Kami mencipta tiga akaun dengan nama satu demi satu. Kemudian, kami mengisytiharkan peta dengan kunci dan nilai sebagai taip dan hantar tiga akaun sebelumnya ke peta dengan memberikan beberapa nilai.

// Buat 3 akaun dengan Nama

Akaun akaun1 = Akaun baru(Nama='Petunjuk Linux');

Akaun akaun2 = Akaun baru(Nama='Salesforce');

Akaun akaun3 = Akaun baru(Nama='Python');

// Tambahkan akaun di atas sebagai kunci pada map_obj

Map map_obj = new Map{

akaun1 => 1000,akaun2 => 2000,akaun3 => 3000};

System.debug(map_obj);

Pengeluaran:

Anda boleh melihat bahawa 'map_obj' menyimpan tiga akaun.

1. Map.values()

Untuk mengembalikan hanya nilai dari peta yang diberikan, kita boleh menggunakan kaedah values(). Ia tidak akan mengambil sebarang parameter. Ia hanya mengembalikan senarai nilai yang dipisahkan dengan koma.

Sintaks:

map_object.values()

Contoh:

Mari kembalikan semua nilai dari peta sebelumnya. Pastikan anda perlu melaksanakan kod contoh sebelumnya (buat peta dengan tiga akaun). Jika tidak, anda akan mendapat ralat. Kod itu juga harus wujud dalam konsol.

// Kembalikan nilai untuk semua kunci menggunakan nilai ()

System.debug(map_obj.values());

Pengeluaran:

Terdapat hanya tiga pasangan kunci:nilai dalam map_obj. Nilainya ialah: 1000, 2000, dan 3000.

2. Map.keySet()

Kembalikan kekunci yang terdapat dalam objek peta. Sama seperti values(), tidak perlu menghantar sebarang parameter kepada kaedah ini.

Sintaks:

map_object.keySet()

Contoh:

Mari pulangkan semua kunci dari peta sebelumnya. Pastikan anda melaksanakan kod contoh sebelumnya (buat peta dengan tiga akaun). Jika tidak, anda akan mendapat ralat. Kod itu juga harus wujud dalam konsol.

// Kembalikan semua Kekunci menggunakan keySet()

System.debug(map_obj.keySet());

Pengeluaran:

Terdapat hanya tiga pasangan kunci:nilai dalam map_obj. Kuncinya ialah: {Account:{Name=Linux Hint}, Account:{Name=Python} dan Account:{Name=Salesforce}.

3. Map.size()

Dalam sesetengah senario, kita perlu mengetahui jumlah pasangan item (kunci:nilai) yang terdapat dalam peta Apex. Size() ialah kaedah yang mengembalikan jumlah pasangan (key:value) yang wujud dalam map_object. Parameter tidak diperlukan untuk kaedah ini.

Sintaks:

map_object.size()

Contoh:

Kembalikan saiz objek peta sebelumnya.

// Kembalikan jumlah bilangan pasangan menggunakan saiz()

System.debug(map_obj.size());

Pengeluaran:

Oleh kerana hanya terdapat 3 pasang, saiz() yang dikembalikan ialah 3.

4. Map.get()

Mengakses nilai dari peta menggunakan kekunci dilakukan menggunakan kaedah get(). Untuk melakukan ini, kita perlu menghantar kunci sebagai parameter kepada kaedah get(). Jika kunci yang tidak diketahui diluluskan, ia mengembalikan ralat.

Sintaks:

map_object.get(key)

Contoh:

Kembalikan nilai kunci-2 dan kunci-1 secara berasingan.

// dapatkan nilai kunci kedua

System.debug(map_obj.get(account2));

// dapatkan nilai kunci pertama

System.debug(map_obj.get(account1));

Pengeluaran:

Di sini, 2000 ialah nilai kunci 'Salesforce' dan 1000 ialah nilai kunci 'Linux Hint'.

5. Map.clear()

Semua pasangan dalam koleksi peta Apex boleh dipadamkan pada satu masa menggunakan kaedah clear(). Ia tidak akan mengambil sebarang parameter.

Sintaks:

map_object.clear()

Contoh:

Alih keluar pasangan dalam 'map_obj' sebelumnya.

//Sebelum clear()

System.debug(map_obj);

// Alih keluar semua pasangan menggunakan clear()

map_obj.clear();

//Selepas clear()

System.debug(map_obj);

Pengeluaran:

Sebelum ini, terdapat 3 pasangan nilai kunci dalam 'map_obj'. Selepas menggunakan kaedah clear(), kesemua 3 dipadamkan.

6. Map.equals()

Kita boleh membandingkan dua objek peta menggunakan kaedah equals(). Nilai Boolean true dikembalikan jika semua kunci dan nilai adalah sama dalam kedua-dua objek peta. Manakala nilai Boolean palsu dikembalikan jika sekurang-kurangnya satu nilai berbeza.

Sintaks:

map_object1.equals(map_object2)

Contoh:

Mari buat tiga objek peta dengan satu pasangan kunci:nilai, setiap satu berkenaan dengan objek 'Akaun'. Bandingkan objek ini di antara mereka.

// Akaun-1

Akaun akaun1 = Akaun baru(Nama='Petunjuk Linux');

Peta map_obj1 = Peta baharu{

akaun1 => 1000};

System.debug('Peta - 1:' + map_obj1);

// Akaun-2

Akaun akaun2 = Akaun baru(Nama='Petunjuk Linux');

Peta map_obj2 = Peta baharu{

akaun2 => 1000};

System.debug('Peta - 2:' + map_obj1);

// Akaun-3

Akaun akaun3 = Akaun baru(Nama='Python');

Peta map_obj3 = Peta baharu{

akaun3 => 2000};

System.debug('Peta - 3:' + map_obj3);

// sama dengan()

System.debug('Peta 1 & Peta 2 adalah Sama: '+ map_obj1.equals(map_obj2));

System.debug('Peta 1 & Peta 3 adalah Sama: '+ map_obj1.equals(map_obj3));

Pengeluaran:

Objek peta pertama dan kedua adalah sama kerana kedua-dua kunci dan nilai adalah sama dalam kedua-dua objek. Objek peta pertama dan ketiga tidak sama kerana kunci dan nilainya berbeza.

7. Map.isEmpty()

Kita boleh menyemak sama ada peta kosong atau tidak menggunakan kaedah isEmpty(). Benar dikembalikan jika koleksi peta Apex kosong. Jika tidak, palsu dikembalikan. Sama seperti kaedah size(), ia tidak akan mengambil sebarang parameter.

Sintaks:

map_object.isEmpty()

Contoh:

Mari buat dua objek peta yang berkaitan dengan 'Akaun' dan semak sama ada kedua-dua objek ini kosong atau tidak.

// Akaun-1

Akaun akaun1 = Akaun baru(Nama='Petunjuk Linux');

Peta map_obj1 = Peta baharu{

akaun1 => 1000};



// Akaun-2

Map map_obj2 = new Map();

// kosong()

System.debug('Peta-1 kosong: '+map_obj1.isEmpty());

System.debug('Peta-2 kosong: '+map_obj2.isEmpty());

Pengeluaran:

Peta pertama tidak kosong kerana ia mengandungi satu pasangan nilai kunci. Peta kedua kosong kerana ia tidak mengandungi satu pun.

8. Map.remove()

Kaedah remove() dalam koleksi peta Apex digunakan untuk mengalih keluar pasangan nilai kunci tertentu berdasarkan kunci yang dinyatakan di dalamnya sebagai parameter. Jika kunci tidak wujud, ralat akan dibangkitkan.

Sintaks:

map_object.remove(key)

Contoh:

Mari buat peta dengan dua item dan alih keluar item pertama.

Akaun akaun1 = Akaun baru(Nama='Petunjuk Linux');

Akaun akaun2 = Akaun baru(Nama='Python');

Map map_obj = new Map{

akaun1 => 1000,akaun2 => 4000};

System.debug('Peta Sedia Ada'+ map_obj);

//buang()

map_obj.remove(akaun1);

System.debug('Selepas mengalih keluar item pertama:'+map_obj);

Pengeluaran:

Selepas mengalih keluar item pertama daripada peta, hanya satu item wujud – {Account:{Name=Python}=4000}.

9. Map.put()

Menggunakan kaedah ini, kita boleh terus menambah satu item pada objek peta pada satu masa. Ia menerima dua parameter: 'kunci' ialah parameter pertama manakala 'nilai' ialah parameter kedua.

Sintaks:

map_object.put(kunci,nilai)

Contoh:

Mari buat peta dengan satu pasangan nilai kunci. Kemudian, kami menggunakan kaedah 'put' untuk memasukkan 'account2'.

// Akaun-1

Akaun akaun1 = Akaun baru(Nama='Petunjuk Linux');

Peta map_obj1 = Peta baharu{

akaun1 => 1000};

System.debug('Peta Sebenar: '+map_obj1);

// Akaun-2

Akaun akaun2 = Akaun baru(Nama='Python');

// letak()

map_obj1.put(akaun2,2000);

System.debug('Peta Akhir: '+map_obj1);

Pengeluaran:

Sebelum ini, hanya terdapat satu pasangan nilai kunci dalam peta iaitu {Account:{Name=Linux Hint}=1000}. Selepas menambah “akaun2”, peta akhir mengandungi dua pasangan nilai kunci iaitu {Akaun:{Name=Linux Hint}=1000 dan Akaun:{Name=Python}=2000}.

10. Map.putAll()

Menggunakan kaedah ini, kita boleh terus menambah satu atau berbilang item pada objek peta pada satu masa. Ia memerlukan objek koleksi peta sebagai parameter.

Sintaks:

map_object1.putAll(map_object2)

Contoh:

Mari buat peta dengan dua pasangan nilai kunci dan buat objek peta kosong sekali lagi tanpa item. Gunakan kaedah putAll() untuk menambah item yang tersedia dalam objek peta pertama kepada objek peta kedua.

Akaun akaun1 = Akaun baru(Nama='Petunjuk Linux');

Akaun akaun2 = Akaun baru(Nama='Python');

Peta map_obj1 = Peta baharu{

akaun1 => 1000, akaun2 => 2000};

System.debug(map_obj1);

Map map_obj2 = new Map();

//putAll()

map_obj2.putAll(map_obj1);

System.debug(map_obj2);

Pengeluaran:

Kesimpulan

Peta ialah struktur data yang digunakan terutamanya dalam senario pencetus dan membantu memuatkan lebih banyak data pada satu masa ke dalam pangkalan data Salesforce seperti senarai. Kami mempunyai dua pilihan untuk menambah item ke dalam peta: menggunakan put() dan putAll(). Kaedah remove() digunakan untuk mengalih keluar item tertentu daripada koleksi peta Apex. Kaedah clear() digunakan untuk memadam semua item. Selain itu, kami belajar cara mengembalikan nilai dan kunci menggunakan kaedah values() dan keySet().