Pengantar Menggunakan Daftar Tertaut di Java

Pengantar Menggunakan Daftar Tertaut di Java

Struktur data menggunakan metode berbeda yang telah ditentukan sebelumnya untuk menyimpan, mengambil, dan menghapus data yang berujung pada pembuatan program yang efisien. Daftar tertaut adalah struktur data populer, yang terdiri dari daftar simpul yang terhubung (atau ditautkan).





Tetapi bagaimana Anda membuat daftar tertaut di Jawa? Mari lihat.





Bagaimana Cara Kerja Daftar Tertaut?

Setiap daftar tertaut dimulai dengan simpul khusus yang sering disebut sebagai 'kepala', yang bertanggung jawab untuk menunjuk ke awal daftar setiap saat. Head penting karena setiap node dalam linked list tidak perlu mengikuti penerusnya secara fisik (artinya pendahulu dan penerus tidak harus berdekatan secara fisik).





Seperti setiap struktur data, daftar tertaut memfasilitasi pembuatan, pengambilan, penyisipan, dan penghancuran melalui serangkaian fungsi yang telah ditentukan sebelumnya yang dapat digunakan oleh pengembang mana pun.

Membuat Daftar Tertaut di Jawa

Program Java yang dirancang untuk membuat dan memanipulasi daftar tertaut akan memiliki tiga bagian berbeda; kelas node, kelas linked list, dan driver. Meskipun ketiga bagian ini dapat digabungkan dalam satu file, ada prinsip desain dalam ilmu komputer yang dikenal sebagai 'pemisahan masalah' yang harus diketahui oleh setiap pengembang.



Prinsip pemisahan kekhawatiran menyatakan bahwa setiap bagian dari kode yang membahas masalah tertentu harus dipisahkan. Prinsip ini akan membantu Anda membuat kode yang lebih bersih (lebih mudah dibaca) dan ideal untuk membuat struktur data.

Langkah pertama dalam membuat linked list di Java adalah membuat kelas node. Kelas simpul harus memiliki dua atribut; salah satu atribut akan mewakili bagian data dari node, sedangkan atribut lainnya akan mewakili bagian yang ditautkan. Kelas node juga harus memiliki konstruktor, getter, dan setter.





Terkait: Pelajari Cara Membuat Kelas di Java

Getter dan setter akan mengizinkan kelas lain (seperti kelas linked list) untuk mengakses berbagai node di dalam linked list.





Contoh Kelas Node

Di bawah ini adalah contoh kelas simpul bagi Anda untuk mendapatkan gambaran tentang apa yang kami maksud:


public class Node {
private int Data;
private Node NextNode;
//constructor
public Node() {
Data = 0;
NextNode = null;
}
//getters and setters
public int getData() {
return Data;
}
public void setData(int data) {
Data = data;
}
public Node getNextNode() {
return NextNode;
}
public void setNextNode(Node nextNode) {
NextNode = nextNode;
}
}

Dalam contoh ini, atribut data akan menyimpan nilai integer. Sekarang setelah Anda memiliki kelas simpul, saatnya untuk beralih ke daftar tertaut.

Contoh Daftar Tertaut

Di bawah ini adalah contoh daftar tertaut di Jawa.

public class LinkedList {
private Node Head;
//constructor
public LinkedList() {
Head = null;
}
}

Kode di atas akan membuat kelas daftar tertaut, namun, tanpa berbagai operasinya, kelas dapat dilihat sebagai setara dengan shell kosong. Struktur data daftar tertaut memiliki beberapa operasi yang dapat digunakan untuk mengisinya:

  • Sisipkan di bagian depan.
  • Sisipkan di tengah.
  • Sisipkan di bagian belakang.

Terkait: Cara Membangun Struktur Data Dengan Kelas JavaScript ES6

Kumpulan metode penyisipan daftar tertaut adalah salah satu alasan mengapa pengembang mungkin memilih untuk menggunakan struktur data ini daripada struktur data lain seperti tumpukan (yang hanya memungkinkan penyisipan dan penghapusan dari atas).

Menggunakan Sisipan di Metode Depan

Metode penyisipan di depan, seperti namanya, menyisipkan data baru (atau simpul baru) di bagian depan daftar tertaut.

Sisipkan di Contoh Metode Depan

Di bawah ini adalah contoh bagaimana Anda akan memasukkan data baru di bagian depan daftar Anda.

//insert node at front method
public void insertAtFront(int key) {
//create a new node using the node class
Node Temp = new Node();
//check if the Temp node was successfully created
//assign the data that was provides by the user to it
if(Temp != null) {
Temp.setData(key);
Temp.setNextNode(null);

//check if the head of the linked list is empty
//assign the node that was just created to the head position
if(Head == null) {
Head = Temp;
}
//if a node is already at the head position
//add the new node to it and set it as the head
else {
Temp.setNextNode(Head);
Head = Temp;
}
}
}

NS sisipkanDiDepan metode dalam contoh di atas memungkinkan pengguna untuk menambahkan node baru ke daftar tertaut yang diberikan.

Menerapkan Sisipan di Contoh Depan

Di bawah ini adalah contoh bagaimana Anda akan menerapkan insert di bagian depan.

public class Driver {
//executes the program
public static void main(String[] args) {
//create a new linked list called List
LinkedList List = new LinkedList();
//add each value to the front of the linked list as a new node
List.insertAtFront(10);
List.insertAtFront(8);
List.insertAtFront(6);
List.insertAtFront(4);
List.insertAtFront(2);
}
}

NS Pengemudi class (yang merupakan nama yang sering diberikan ke kelas yang dapat dieksekusi di Java), menggunakan kelas LinkedList untuk membuat daftar tertaut dari lima angka genap. Melihat kode di atas seharusnya mudah untuk melihat bahwa angka '2' berada di posisi kepala dalam daftar tertaut. Tapi bagaimana Anda bisa mengkonfirmasi ini?

cara meningkatkan kinerja di windows 10

Menggunakan Metode Tampilan Semua Node

Metode tampilan semua node adalah metode daftar tertaut yang penting. Tanpa itu, pengembang tidak akan dapat melihat node dalam daftar tertaut. Itu berjalan melalui daftar tertaut (mulai dari kepala) mencetak data yang disimpan di setiap simpul yang membentuk daftar.

Tampilkan Semua Contoh Metode Node

Di bawah ini adalah contoh penggunaan metode tampilan semua catatan di Java.

//display all nodes method
public void displayAllNodes() {
//create a new node call Temp and assign it to the head of the linked list
//if the head has a null value then the linked list is empty
Node Temp = Head;
if (Head == null){
System.out.println('The list is empty.');
return;
}
System.out.println('The List:');

while(Temp != null) {
//print the data in each node to the console(starting from the head)
System.out.print(Temp.getData() + ' ');
Temp = Temp.getNextNode();
}
}

Sekarang bahwa tampilanSemuaNode metode telah ditambahkan ke Daftar Tertaut kelas Anda dapat melihat daftar tertaut dengan menambahkan satu baris kode ke kelas driver.

Menggunakan Contoh Metode Tampilan Semua Node

Di bawah ini, Anda akan melihat bagaimana Anda akan menggunakan metode tampilan semua simpul.

//print the nodes in a linked list
List.displayAllNodes();

Menjalankan baris kode di atas akan menghasilkan output berikut di konsol:

Daftar:

2 4 6 8 10

Menggunakan Metode Temukan Node

Akan ada contoh ketika pengguna ingin menemukan simpul tertentu dalam daftar tertaut.

Misalnya, tidak praktis bagi bank yang memiliki jutaan pelanggan untuk mencetak semua pelanggan di database mereka ketika mereka hanya perlu melihat detail pelanggan tertentu.

Oleh karena itu, alih-alih menggunakan tampilanSemuaNode metode, metode yang lebih efisien adalah menemukan node tunggal yang berisi data yang diperlukan. Inilah sebabnya mengapa pencarian metode simpul tunggal penting dalam struktur data daftar tertaut.

Temukan Contoh Metode Node

Di bawah ini adalah contoh penggunaan metode find node.

//search for a single node using a key
public boolean findNode(int key) {
//create a new node and place it at the head of the linked list
Node Temp = Head;
//while the current node is not empty
//check if its data matches the key provided by the user
while (Temp != null) {
if (Temp.getData() == key) {
System.out.println('The node is in the list');
return true;
}
//move to the next node
Temp = Temp.getNextNode();
}
//if the key was not found in the linked list
System.out.println('The node is not in the list');
return false;
}

Dengan tampilanSemuaNode metode, Anda mengkonfirmasi bahwa Daftar Tertaut berisi 5 bilangan genap dari 2 sampai 10 temukanNode contoh di atas dapat mengkonfirmasi jika salah satu dari angka genap itu adalah angka 4 hanya dengan memanggil metode di kelas driver dan memberikan angka sebagai parameter.

Menggunakan Contoh Metode Temukan Node

Di bawah ini adalah contoh bagaimana Anda akan menggunakan metode find node dalam praktik.

//check if a node is in the linked list
List.findNode(4);

Kode di atas akan menghasilkan output berikut di konsol:

The node is in the list

Menggunakan Metode Hapus Node

Menggunakan contoh bank yang sama dari atas, pelanggan di database bank mungkin ingin menutup rekening mereka. Di sinilah metode delete a node akan berguna. Ini adalah metode daftar tertaut yang paling kompleks.

Metode Delete a Node mencari node tertentu, menghapus node tersebut, dan menautkan node sebelumnya ke node yang mengikuti node yang telah dihapus.

Hapus Contoh Metode Node

Di bawah ini adalah contoh metode delete a node.

public void findAndDelete(int key) {
Node Temp = Head;
Node prev = null;
//check if the head node holds the data
//and delete it
if (Temp != null && Temp.getData() == key) {
Head = Temp.getNextNode();
return;
}
//search the other nodes in the list
//and delete it
while (Temp != null) {
if (Temp.getNextNode().getData() == key ) {
prev = Temp.getNextNode().getNextNode();
Temp.setNextNode(prev);
return;
}
Temp = Temp.getNextNode();
}
}

Menggunakan Contoh Metode Hapus Node

Di bawah ini adalah contoh penggunaan metode delete a node dalam praktiknya.

temukan obituari untuk orang tertentu usa
//delete the node that holds the data 4
List.findAndDelete(4);
//print all nodes in the linked list
List.displayAllNodes();

Menggunakan dua baris kode di atas di kelas Driver yang sudah ada sebelumnya akan menghasilkan output berikut di konsol:

The List:
2 6 8 10

Sekarang Anda Dapat Membuat Daftar Tertaut di Java

Jika Anda berhasil sampai ke akhir artikel tutorial ini, Anda akan belajar:

  • Cara membuat kelas simpul.
  • Cara membuat kelas daftar tertaut.
  • Cara mengisi kelas daftar tertaut dengan metode yang telah ditentukan sebelumnya.
  • Cara membuat kelas driver dan menggunakan metode daftar tertaut yang berbeda untuk mencapai hasil yang diinginkan.

Daftar tertaut hanyalah salah satu dari banyak struktur data yang dapat Anda gunakan untuk menyimpan, mengambil, dan menghapus data. Karena Anda memiliki semua yang Anda butuhkan untuk memulai, mengapa tidak mencoba contoh ini sendiri di Java?

Membagikan Membagikan Menciak Surel Cara Membuat dan Melakukan Operasi pada Array di Java

Belajar bahasa Jawa? Biarkan array menangani data Anda dengan mudah.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Jawa
  • Pemrograman
  • Kiat Pengkodean
Tentang Penulis Kadeisha Kean(21 Artikel Diterbitkan)

Kadeisha Kean adalah Pengembang Perangkat Lunak Full-Stack dan Penulis Teknis/Teknologi. Dia memiliki kemampuan yang berbeda untuk menyederhanakan beberapa konsep teknologi yang paling kompleks; menghasilkan materi yang dapat dengan mudah dipahami oleh setiap pemula teknologi. Dia bersemangat menulis, mengembangkan perangkat lunak yang menarik, dan berkeliling dunia (melalui film dokumenter).

More From Kadeisha Kean

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan