Linkedlist ( danh sách liên kết trong java với ví dụ cụ thể, danh sách liên kết

     

LinkedList là một cấu tạo dữ liệu con đường tính. Các bộ phận trong LinkedList không được lưu trữ liền kề nhau y như arrays. Mỗi phần tử trong LinkedList liên kết với nhau bởi một con trỏ, nghĩa là mỗi phần tử sẽ tham chiếu đến add của phần tử tiếp theo.

Bạn đang xem: Linkedlist ( danh sách liên kết trong java với ví dụ cụ thể, danh sách liên kết

Bạn sẽ xem: Danh sách links trong java

Node trong LinkedList

Mỗi thành phần trong LinkedList được gọi là 1 node. Mỗi node gồm 2 yếu tắc chính:

Data: tài liệu của phần tửPointer: showroom của thành phần tiếp theo

Node đầu chi phí trong linkedlist được điện thoại tư vấn là head.

Node sau cùng của linkedlist sẽ trỏ về null

*

Thông thường bọn họ chỉ làm chủ node head, từ bỏ đó có thể tìm các bộ phận còn lại.

Sơ đồ vật trên miêu tả về single linkedlist. Chúng ta còn có không ít loại linkedlist phức tạp hơn hoàn toàn như là double linkedlist etc.

Các tác dụng của LinkedList

Chúng ta biết rằng array(lưu ý bản thân nói array chứ chưa phải ArrayList) trong java có những tinh giảm rằng:

Kích thước array thắt chặt và cố định được khai báo thời điểm khởi tạo.Chi phí để thêm hoặc xóa một trong những phần tử trong array vô cùng tốn kém. Vì bọn họ phải tốn nhiều ngân sách để dịch rời các bộ phận khác sinh sản khoản trống để thêm hoặc xóa đi. Ví dụ như array = 1, 4, 6, 0, 9, khi bạn muốn thêm 100 vào địa chỉ thứ 1, họ phải dịch các phần tử từ 4 mang đến cuỗi array qua phải một phần tử để thêm 1 vào.

Các hạn chế của array được nêu trên được linkedlist giải quyết hiệu quả như sau:

LinkedList cho phép cấp phát bộ nhớ động. Bọn họ sẽ không đề nghị khai báo kích thước của LinkedList, khi bọn họ thêm hoặc xóa thành phần kích thước của chính nó sẽ tự giãn nở ra hoặc co lại.Thêm và xóa trong LinkedList không buộc phải phải di chuyển các phần tử mà chỉ cần thay đổi showroom con trỏ của các node.

Ví dụ thêm phần tử trong LinkedList

import java.util.Iterator;import java.util.LinkedList;public class Main public static void main(String args) LinkedList linkedList = new LinkedList(); // them phan tu vào danh sach lien ket linkedList.add("hga"); linkedList.add("tlq"); linkedList.add("dnq"); // Them phan tu vao dau danh sach lien ket linkedList.addFirst("vvh"); Iterator iterator1 = linkedList.iterator(); System.out.println("Case 1"); while(iterator1.hasNext()) System.out.print(iterator1.next()+ " "); System.out.println(); linkedList.remove(1); Iterator iterator2 =linkedList.iterator(); System.out.println("Case 2"); while(iterator2.hasNext()) System.out.print(iterator2.next() + " "); System.out.println(); // Them phan tu vao cuoi danh sach lien ket linkedList.addLast("kkg"); // them phan tu tai vi tri index linkedList.add(2, "hgi"); System.out.println("Case 3"); Iterator iterator3 = linkedList.iterator(); while(iterator3.hasNext()) System.out.print(iterator3.next() + " "); Output:

Case 1vvh hga tlq dnq Case 2vvh tlq dnq Case 3vvh tlq hgi dnq kkg

LinkedList methods

Một số method LinkedList thường xuyên được sử dụng của LinkedList

1, boolean add(Object item): Thêm phần tử vào cuối LinkedList

linkedList.add("hga");2, void add(int index, Object e): Thêm một trong những phần tử tại vị trí index.

linkedList.add(2, "hga");3, boolean addAll(Collection c): Thêm tất cả các phần tử trong Collection C vào LinkedList.

linkedList.addAll(arrayList);4, boolean addAll(int, index, Collection c): Thêm toàn bộ các phần tử trong Collection C vào địa điểm index trong LinkedList

linkedList.addAll(2, arrayList);5, void addFirst(Object e): Thêm thành phần vào đầu LinkedList.

linkedList.addFirst("hga);6, void addLast(Object e): Thêm bộ phận vào cuối LinkedList

linkedList.addLast("hga);7, void clear(): Xóa tất cả các bộ phận trong LinkedLí

linkedList.clear("hga);8, Object clone(): Copy LinkedList

linkedList.clone();9, boolean contains(Object o): soát sổ sự trường tồn của Object o trong LinkedList.

Xem thêm: Bạn Có Biết Mã Hóa Md5 Là Gì ? Kiểm Tra File Tải Về Toàn Vẹn Hay Không Bằng Md5

Object o= linkedList.get(1);11, Object getFirst(): Lấy thành phần đầu tiên trong LinkedList(Head)

Object o= linkedList.getFirst();12, Object getLast(): Lấy thành phần cuối cùng trong LinkedList(Head)

Object o= linkedList.getLast();13, int indexOf(Object e):Trả về vị trí đầu tiên của object e

int index = linkedList.indexOf("hga");14, int lastIndexOf(Object o): Trả về vị trí cuối cùng của Object o.

int index = linkedList.lastIndexOf("hga");15, Object poll(): Trả về phần tử đầu tiên trong cùng xóa nó ra khỏi LinkedList.

Object o= linkedList.poll();16, Object pollFirst(): tương tự như poll().

Object o= linkedList.pollFirst();17, Object pollLast(): Trả về thành phần cuối thuộc và xóa nó ra khởi LinkedList.

Object o= linkedList.pollLast();18, Object remove(): Xóa bộ phận đầu tiên của LinkedList.

linkedList.remove();19, Object remove(int index): Xóa thành phần tại địa điểm index.

linkedList.remove(1);20, Object remove(Object o): Xóa Object o ra khởi LinkedList.

linkedList.remove("hga");21, Object removeFirst(): Xóa bộ phận đầu tiên.

linkedList.removeFirst("hga");22, Object removeLast():Xóa phần tử cuối cùng.

linkedList.set(1, "hga");24, int size(): Trả về con số phần tử.

int form size = linkedList.size();

LinkedList căn bản

LinkedList sorting

LinkedList searching

LinkedList với stream api

‹Previous Next›


Chuyên mục: Domain Hosting