Salesforce Apex – Peta

Salesforce Apex Peta



Peta Salesforce Apex adalah struktur data yang terutama digunakan dalam skenario pemicu dan membantu memuat lebih banyak data sekaligus ke dalam database Salesforce seperti daftar. Tapi itu menyimpan dan mengatur data dalam format pasangan {key:value}. Kami akan membahas kumpulan peta dalam bahasa pemrograman Apex dan metodenya. Di sini, kami akan menggunakan objek standar Akun di Salesforce untuk semua contoh. Mari selami tutorial ini dengan cepat.

Peta

Peta mengambil data pasangan {key:value} sebagai masukan dan menyimpannya ke dalam standar Salesforce atau objek khusus. Itu dapat mengambil sObject sebagai kunci atau nilai.







Pembuatan Peta

Dengan menentukan tipe data kunci dan nilai bersama dengan nama objek, peta dapat dibuat. Di sini, kata kunci baru digunakan untuk membuatnya. Ini bisa opsional untuk meneruskan elemen selama pembuatan.



Sintaks Peta Kosong:

Peta map_obj = Peta baru():

Sintaks Umum:

Peta map_obj = Peta baru{

Kunci => nilai,....};

sObjek Sintaks:

Peta map_obj = Peta baru{

Kunci => nilai,....};

Di sini, sObject bisa menjadi objek standar atau kustom. Di seluruh artikel ini, kami hanya akan berurusan dengan peta dengan objek 'Akun'.



Mari kita lihat metode yang didukung oleh koleksi “peta” Apex satu per satu.





Pengaturan Lingkungan

1. Masuk dengan cepat ke Salesforce dan buka 'Konsol Pengembang' dengan mengeklik ikon roda gigi.



2. Kemudian, buka “Anonymous Window” dengan mengklik “Debug” dan “Open Execute Anonymous Window”.

Contoh Umum:

Pertama, kita akan melihat pembuatan peta generik dengan membuat peta dengan dua subjek: 'subject_id' yang bertindak sebagai kunci dan 'nilai' sebagai nama subjek.

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

system.debug(pemrograman);

Keluaran:

  1. Klik 'Eksekusi'.
  2. Periksa opsi 'Hanya Debug'. Anda dapat melihat hasilnya di 'Log Eksekusi'.

Metode Peta

Pertama, kami membuat peta dari objek 'Akun'. Kami membuat tiga akun dengan nama satu per satu. Kemudian, kami mendeklarasikan peta dengan kunci dan nilai sebagai ketik dan berikan tiga akun sebelumnya ke peta dengan memberikan beberapa nilai.

// Buat 3 akun dengan Nama

Akun akun1 = Akun baru(Nama='Petunjuk Linux');

Akun akun2 = Akun baru(Nama='Salesforce');

Akun akun3 = Akun baru(Nama='Python');

// Tambahkan akun di atas sebagai kunci ke map_obj

Map map_obj = Peta baru{

akun1 => 1000, akun2 => 2000, akun3 => 3000};

Sistem.debug(peta_obj);

Keluaran:

Anda dapat melihat bahwa “map_obj” menyimpan tiga akun.

1. Peta.nilai()

Untuk mengembalikan hanya nilai dari peta yang diberikan, kita dapat menggunakan metode values(). Itu tidak akan mengambil parameter apa pun. Ini hanya mengembalikan daftar nilai yang dipisahkan dengan koma.

Sintaksis:

peta_objek.nilai()

Contoh:

Mari kembalikan semua nilai dari peta sebelumnya. Pastikan Anda perlu menjalankan kode contoh sebelumnya (buat peta dengan tiga akun). Jika tidak, Anda akan mendapatkan kesalahan. Kode juga harus ada di konsol.

// Mengembalikan nilai untuk semua kunci menggunakan nilai()

System.debug(map_obj.values());

Keluaran:

Hanya ada tiga pasangan kunci:nilai di map_obj. Nilainya adalah: 1000, 2000, dan 3000.

2. Peta.keySet()

Kembalikan kunci yang ada di objek peta. Mirip dengan values(), tidak perlu meneruskan parameter apa pun ke metode ini.

Sintaksis:

map_object.keySet()

Contoh:

Mari kembalikan semua kunci dari peta sebelumnya. Pastikan Anda menjalankan kode contoh sebelumnya (buat peta dengan tiga akun). Jika tidak, Anda akan mendapatkan kesalahan. Kode juga harus ada di konsol.

// Mengembalikan semua Kunci menggunakan keySet()

System.debug(map_obj.keySet());

Keluaran:

Hanya ada tiga pasangan kunci:nilai di map_obj. Kuncinya adalah: {Akun:{Nama=Linux Hint}, Akun:{Nama=Python}, dan Akun:{Nama=Salesforce}.

3. Peta.ukuran()

Dalam beberapa skenario, kita perlu mengetahui pasangan total item (key:value) yang ada di peta Apex. Size() adalah metode yang mengembalikan pasangan total (key:value) yang ada di map_object. Parameter tidak diperlukan untuk metode ini.

Sintaksis:

peta_objek.ukuran()

Contoh:

Mengembalikan ukuran objek peta sebelumnya.

// Mengembalikan jumlah total pasangan menggunakan size()

System.debug(map_obj.size());

Keluaran:

Karena hanya ada 3 pasang, size() yang dikembalikan adalah 3.

4. Peta.get()

Mengakses nilai dari peta menggunakan kunci dilakukan dengan menggunakan metode get(). Untuk melakukan ini, kita perlu meneruskan kunci sebagai parameter ke metode get(). Jika kunci yang tidak dikenal dilewatkan, itu mengembalikan kesalahan.

Sintaksis:

map_object.get(kunci)

Contoh:

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

// dapatkan nilai kunci kedua

Sistem.debug(map_obj.get(akun2));

// dapatkan nilai kunci pertama

Sistem.debug(map_obj.get(akun1));

Keluaran:

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

5. Peta.jelas()

Semua pasangan dalam koleksi peta Apex dapat dihapus sekaligus menggunakan metode clear(). Itu tidak akan mengambil parameter apa pun.

Sintaksis:

map_object.clear()

Contoh:

Hapus pasangan di 'map_obj' sebelumnya.

//Sebelum hapus()

Sistem.debug(peta_obj);

// Hapus semua pasangan menggunakan clear()

map_obj.clear();

//Setelah hapus()

Sistem.debug(peta_obj);

Keluaran:

Sebelumnya, ada 3 key-value pair di “map_obj”. Setelah menerapkan metode clear(), ketiganya akan dihapus.

6. Peta.sama dengan()

Kita dapat membandingkan dua objek peta menggunakan metode equals(). Nilai Boolean dari true dikembalikan jika semua kunci dan nilai sama di kedua objek peta. Sedangkan nilai Boolean false dikembalikan jika paling tidak ada satu nilai yang berbeda.

Sintaksis:

map_object1.equals(map_object2)

Contoh:

Mari buat tiga objek peta dengan satu kunci:pasangan nilai, masing-masing terkait dengan objek 'Akun'. Bandingkan benda-benda ini di antara mereka.

// Akun-1

Akun akun1 = Akun baru(Nama='Petunjuk Linux');

Map map_obj1 = Peta baru{

akun1 => 1000};

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

// Akun-2

Akun akun2 = Akun baru(Nama='Petunjuk Linux');

Map map_obj2 = Peta baru{

akun2 => 1000};

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

// Akun-3

Akun akun3 = Akun baru(Nama='Python');

Map map_obj3 = Peta baru{

akun3 => 2000};

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

// sama dengan()

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

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

Keluaran:

Objek peta pertama dan kedua sama karena kunci dan nilai sama di kedua objek. Objek peta pertama dan ketiga tidak sama karena kunci dan nilainya berbeda.

7. Peta.isKosong()

Kita dapat memeriksa apakah peta kosong atau tidak menggunakan metode isEmpty(). True dikembalikan jika koleksi peta Apex kosong. Jika tidak, false dikembalikan. Mirip dengan metode size(), metode ini tidak memerlukan parameter apa pun.

Sintaksis:

map_object.isEmpty()

Contoh:

Mari buat dua objek peta yang terkait dengan 'Akun' dan periksa apakah keduanya kosong atau tidak.

// Akun-1

Akun akun1 = Akun baru(Nama='Petunjuk Linux');

Map map_obj1 = Peta baru{

akun1 => 1000};



// Akun-2

Map map_obj2 = new Map();

// kosong()

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

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

Keluaran:

Peta pertama tidak kosong karena berisi satu pasangan kunci-nilai. Peta kedua kosong karena tidak ada.

8. Petakan.hapus()

Metode remove() dalam koleksi peta Apex digunakan untuk menghapus pasangan kunci-nilai tertentu berdasarkan kunci yang ditentukan di dalamnya sebagai parameter. Jika kunci tidak ada, kesalahan muncul.

Sintaksis:

peta_objek.hapus(kunci)

Contoh:

Mari buat peta dengan dua item dan hapus item pertama.

Akun akun1 = Akun baru(Nama='Petunjuk Linux');

Akun akun2 = Akun baru(Nama='Python');

Map map_obj = Peta baru{

akun1 => 1000, akun2 => 4000};

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

//menghapus()

map_obj.remove(akun1);

System.debug('Setelah menghapus item pertama:'+map_obj);

Keluaran:

Setelah menghapus item pertama dari peta, hanya ada satu item – {Akun:{Nama=Python}=4000}.

9. Peta.put()

Dengan menggunakan metode ini, kita dapat langsung menambahkan satu item ke objek peta sekaligus. Itu menerima dua parameter: 'kunci' adalah parameter pertama sedangkan 'nilai' adalah parameter kedua.

Sintaksis:

map_object.put(kunci,nilai)

Contoh:

Mari buat peta dengan satu key-value pair. Kemudian, kami menggunakan metode 'put' untuk memasukkan 'account2'.

// Akun-1

Akun akun1 = Akun baru(Nama='Petunjuk Linux');

Map map_obj1 = Peta baru{

akun1 => 1000};

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

// Akun-2

Akun akun2 = Akun baru(Nama='Python');

// meletakkan()

map_obj1.put(akun2,2000);

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

Keluaran:

Sebelumnya, hanya ada satu key-value pair di peta yaitu {Account:{Name=Linux Hint}=1000}. Setelah menambahkan “account2”, peta terakhir menampung dua key-value pair yaitu {Account:{Name=Linux Hint}=1000 dan Account:{Name=Python}=2000}.

10. Peta.putAll()

Dengan menggunakan metode ini, kita dapat langsung menambahkan satu atau beberapa item ke objek peta sekaligus. Dibutuhkan objek koleksi peta sebagai parameter.

Sintaksis:

peta_objek1.putAll(peta_objek2)

Contoh:

Mari buat peta dengan dua pasangan nilai kunci dan buat lagi objek peta kosong tanpa item. Gunakan metode putAll() untuk menambahkan item yang tersedia di objek peta pertama ke objek peta kedua.

Akun akun1 = Akun baru(Nama='Petunjuk Linux');

Akun akun2 = Akun baru(Nama='Python');

Map map_obj1 = Peta baru{

akun1 => 1000, akun2=> 2000};

Sistem.debug(peta_obj1);

Map map_obj2 = new Map();

//putAll()

map_obj2.putAll(peta_obj1);

Sistem.debug(peta_obj2);

Keluaran:

Kesimpulan

Peta adalah struktur data yang terutama digunakan dalam skenario pemicu dan membantu memuat lebih banyak data sekaligus ke dalam database Salesforce seperti daftar. Kami memiliki dua opsi untuk menambahkan item ke dalam peta: menggunakan put() dan putAll(). Metode remove() digunakan untuk menghapus item tertentu dari koleksi peta Apex. Metode clear() digunakan untuk menghapus semua item. Selain itu, kita belajar cara mengembalikan nilai dan kunci menggunakan metode values() dan keySet() .