Khóa học java

Set trong Java

0 phút đọc

Tập hợp Set trong Java là gì?

Set Interface là một loại Interface Collection. Khác với List, các phần tử trong List có thể giống nhau, còn đối với Set, các phần tử trong Set là duy nhất (nghĩa là giá trị của các phần tử này không được giống nhau). Các phần tử trong Set là duy nhất, chúng ta có thể thêm, xóa, sửa các phần tử trong Set.

Set trong Java

Ví dụ tạo một Set như sau:

java Copy
import java.util.HashSet;

public class SetExample {
    public static void main(String[] args) {
        Set setA = new HashSet();
        setA.add(element);
        System.out.println( setA.contains(element) );
    }
}

Trong ví dụ trên ta tạo ra một tập hợp Set với implementation (lớp thực thi) là HashSet. Ngoài HashSet thì chúng ta có những lớp implementation của Set như sau:

  • EnumSet
  • HashSet
  • LinkedHashSet
  • TreeSet

Mỗi một implementation của Set đều chứa đựng sự khác biệt về cách sử dụng và tốc độ xử lý các phần tử trong tập hợp. Tuỳ vào yêu cầu bài toán mà ta có thể chọn các loại tập hợp Set tương ứng. Chi tiết mỗi tập hợp sẽ được nói trong từng bài cụ thể sau. Ví dụ:

java Copy
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {
    public static void main(String[] args) {
        Set setA = new HashSet();
        Set setB = new LinkedHashSet();
        Set setC = new TreeSet();

    }
}

Thêm một phần tử vào Set

Để thêm một phần tử vào Set ta sử dụng phương thức add(). Ví dụ:

java Copy
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetExample {
    public static void main(String[] args) {
       Set<String> setA = new HashSet<>();
      setA.add("element 1");
      setA.add("element 2");
      setA.add("element 3");

    }
}

Duyệt qua các phần tử trong Set

Sử dụng Iterator để duyệt qua các phần tử trong một set. Ví dụ:

java Copy
Set<String> setA = new HashSet<>();

setA.add("element 1");
setA.add("element 2");
setA.add("element 3");

Iterator<String> iterator = set.iterator();

while(iterator.hasNext(){
  String element = iterator.next();
}

Chúng ta cũng có thể sử dụng For Each để duyệt qua các phần tử:

java Copy
Set set = new HashSet();

for(Object object : set) {
    String element = (String) object;
}

Xóa một phần tử trong Set

Chúng ta sử dụng phương thức remove() để xóa phần tử trong Set. Ví dụ:

java Copy
set.remove("object-to-remove");

Xóa tất cả các phần tử trong Set

Để xóa tất cả các phần tử ta sử dụng phương thức clear(). Ví dụ:

java Copy
set.clear();

Thêm tất cả các phần tử từ một tập hợp Set khác

Set cung cấp cho chúng ta phương thức addAll() để thêm các phần tử từ một tập hợp khác vào trong Set. Ví dụ:

java Copy
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");

Set<String> set2 = new HashSet<>();
set2.add("four");

set2.addAll(set)

Kiểm tra kích thước của Set

Chúng ta sử dụng phương thức size() để xem có bao nhiêu phần tử trong Set. Ví dụ:

java Copy
Set<String> set = new HashSet<>();

set.add("123");
set.add("456");
set.add("789");

int size = set.size();

Kiểm tra Set có rỗng không

Để kiểm tra Set có rỗng không ta sử dụng phương thức isEmpty()

java Copy
Set<String> set = new HashSet<>();
boolean isEmpty = set.isEmpty();

Kiểm tra một phần tử đã tồn tại trong Set chưa

Chúng ta sử dụng phương thức contains() để kiểm tra xem phần tử đã tồn tại trong Set chưa. Ví dụ:

java Copy
Set<String> set = new HashSet<>();

set.add("123");
set.add("456");

boolean contains123 = set.contains("123");

Chuyển tập hợp Set thành List

Chúng ta có thể cover một tập hợp Set thành List bằng phương thức addAll(). Ví dụ:

java Copy
Set<String> set = new HashSet<>();
set.add("123");
set.add("456");

List<String> list = new ArrayList<>();
list.addAll(set);
Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào