Saya baru mengenal Java dan saya menemukan implementasi daftar tertaut di bawah. Dalam metode utama kita membuat instance LinkList bernama theLinkedList dan menggunakan itu kita memanggil metode insertFirstLink sebanyak 4 kali. Apa yang dilakukan metode InsertFirstLink adalah membuat instance Link bernama newLink. Saat kita memanggil insertFirstLink 4 kali.
Apakah metode ini membuat 4 instance Link dengan nama yang sama (newLink)? Bagaimana mungkin? Kita tidak bisa membuat objek dengan nama yang sama kan? Apa yang saya lewatkan? Apa yang perlu saya pelajari untuk memahami bagian ini?
Terima kasih teman-teman. Saya memahami masalah saya. Setelah setiap eksekusi, variabel tautan baru dimusnahkan, tetapi setiap variabel yang dimusnahkan memiliki referensi dan bentuknya seperti garis. Kita selalu dapat menelusuri garis tersebut dan menemukan simpul yang kita inginkan.
public class Link {
public String bookName;
public int millionsSold;
public Link next;
public Link(String bookName, int millionsSold) {
this.bookName = bookName;
this.millionsSold = millionsSold;
}
public static void main(String[] args) {
LinkList theLinkedList = new LinkList();
theLinkedList.insertFirstLink("Don Quixote",500);
theLinkedList.insertFirstLink("A Tale of two cities",200);
theLinkedList.insertFirstLink("The Lord Of The Rings",150);
theLinkedList.insertFirstLink("Harry Potter",1000);
}
}
class LinkList {
public Link firstLink;
LinkList() {
firstLink = null;
}
public boolean isEmpty() {
return(firstLink == null);
}
public void insertFirstLink(String bookName, int millionsSold) {
Link newLink = new Link(bookName, millionsSold);
newLink.next = firstLink;
firstLink = newLink;
}
}
newLink
adalah referensi lokal ke objek yang baru dibuat. Saya menyarankan Anda meninjau jenis dan cakupan variabel. - person PM 77-1   schedule 01.09.2017newLink
sebenarnya bukanlah sebuah objek itu sendiri. Ini adalah variabel yang menyimpan referensi ke suatu objek. Variabel tersebut bisa menunjuk ke objek X pada saat tertentu, dan kemudian ke objek Y. Bahkan bisa menunjuk ke objek apa pun sama sekali, saat itulah variabel dikatakan memiliki referensi null. - person Milack27   schedule 01.09.2017while(currentLink != null) { currentLink.printLink(); currentLink = currentLink.nextLink; }
Sekarang Anda melihat bahwa variabel (pegangan data yang Anda tambahkan ke daftar) telah dimusnahkan. Jadi Anda tidak bisa benar-benar mendapatkan datanya f. e. di tempat ke-5 di LinkedList jika Anda tidak mengulanginya. - person Guillotine   schedule 01.09.2017