Lớp LinkedHashSet trong Java

Như chúng ta đã biết, LinkedHashSet là một phiên bản mở rộng của HashSet. HashSet không đảm bảo thứ tự sắp xếp của các phần tử. Trong khi đó, LinkedHashSet duy trì thứ tự chèn phần tử. HashSet sử dụng đối tượng HashMap bên trong để lưu trữ các phần tử của nó, còn LinkedHashSet sử dụng đối tượng LinkedHashMap bên trong để lưu trữ và xử lý các phần tử của nó. Trong bài viết dưới đây, chúng ta sẽ tìm hiểu LinkedHashSet là gì, hoạt động như thế nào? Cùng theo dõi nhé!

Lớp LinkedHashSet trong Java

1. Lớp LinkedHashSet trong Java

Lớp LinkedHashSet trong Java kế thừa HashSet.

Lớp LinkedHashSet duy trì một linked list của các entry trong Set, theo thứ tự chúng đã được chèn. Điều này cho phép tính lặp lại theo thứ tự chèn qua Set đó.

Đó là, khi tuần hoàn qua một LinkedHashSet bởi sử dụng một Iterator, các phần tử sẽ được trả về theo thứ tự như khi chúng đã được chèn.

Hash code sau đó được sử dụng như là index, tại đó dữ liệu mà được liên kết với key đã được lưu trữ. Phép biến đổi của key này vào trong hash code được thực hiện tự động.

Lớp LinkedHashSet hỗ trợ 4 constructor. Mẫu constructor đầu tiên xây dựng một hash set mặc định.

LinkedHashSet( )

Mẫu Constructor thứ hai khởi tạo hash set bởi sử dụng các phần tử trong c.

LinkedHashSet(Collection c)

Dung lượng tăng tự động khi phần tử được thêm vào tới Hash đó.

LinkedHashSet(int capacity)

Mẫu Constructor thứ tư khởi tạo cả dung lượng và fill ratio (cũng được gọi là dung lượng tải) của hash set từ các tham số của nó.

LinkedHashSet(int capacity, float fillRatio)

Chương trình sau minh họa các phương thức được hỗ trợ bởi lớp LinkedHashSet trong Java:

import java.util. * ;

public class HashSetDemo {

  public static void main(String args[]) {
    // tao mot hash set
    LinkedHashSet hs = new LinkedHashSet();
    // them cac phan tu toi hash set
    hs.add("B");
    hs.add("A");
    hs.add("D");
    hs.add("E");
    hs.add("C");
    hs.add("F");
    System.out.println(hs);
  }
}

Nó sẽ cho kết quả sau:

[B, A, D, E, C

Trên đây là bài viết của eLib.VN về lớp LinkedHashSet trong Java. Hy vọng với những kiến thức trên bạn đọc có thể áp dụng vào quá trình học lập trình Java của mình để tạo ra những đoạn code tối ưu nhất. Chúc các bạn thành công!

Ngày:03/10/2020 Chia sẻ bởi:

CÓ THỂ BẠN QUAN TÂM