Set Interface trong Java

Set (tập hợp) trong Java là một Interface, được kế thừa từ Interface Collection. Set không chứa các phần tử trùng nhau.

Interface java.util.Set được định nghĩa như sau:

public interface Set<E> extends Collection<E> 

Các phương thức của Set interface

Phương thứcMô tả
public boolean add(Object element)Thêm một phần tử vào collection.
public boolean addAll(Collection c)Thêm các phần tử collection được chỉ định vào collection gọi phương thức này.
public boolean remove(Object element)Xóa phần tử ra khỏi collection.
public boolean removeAll(Collection c)Xóa tất cả các phần tử từ collection được chỉ định ra khỏi collection gọi phương thức này.
public boolean retainAll(Collection c)Xóa tất cả các thành phần từ collection gọi phương thức này ngoại trừ collection được chỉ định.
public int size()Trả về tổng số các phần tử trong collection.
public void clear()Xóa tất cả các phần tử trong Collection, sau khi thực hiện phương thức này, Collection sẽ rỗng (empty)
public boolean contains(Object element)Kiểm tra một phần tử có nằm trong Collection không
public boolean containsAll(Collection c)Kiểm tra một Collection có chứa tất cả các phần tử của một Collection khác
public Iterator iterator()Trả về một iterator.
public Object[] toArray()Chuyển đổi collection thành mảng (array).
public boolean isEmpty()Kiểm tra Collection có rỗng hay không.
public boolean equals(Object element)So sánh 2 collection.
public int hashCode()Trả về số hashcode của collection.

Ví dụ:

import java.util.HashSet;
import java.util.Set;
 
public class SetExample {
    public static void main(String[] args) {
        // Create set
        Set<String> items = new HashSet<>();
        items.add("A02"); // Add new item
        items.add("D03"); 
        items.add("D03"); // item is ignored
        items.add("01");
        items.add("04");
 
        // Show set through for-each
        for (String item: items) {
            System.out.print(item + " ");
        }
    }
}

Kết quả thực thi chương trình trên:

01 A02 04 D03 

Trong ví dụ trên, Item D03 thêm lần thứ 2 bị bỏ qua, bởi vì nó đã tồn tại trong items, thứ tự các phần tử được thêm vào không hiển thị đúng thứ tự, do chúng ta sử dụng HashSet. Để giữ đúng thứ tự thêm vào chúng ta có thể sử dụng LinkedHashSet, hoặc sử dụng TreeSet để thêm các phần tử vào tập hợp được sắp xếp. Tôi sẽ giới thiệu chi tiết với các bạn các tập hợp (Set) này ở các bài viết tiếp theo.

Cám ơn các bạn đã quan tâm và theo dõi bài viết. Hẹn gặp lại ở bài viết tiếp theo.

Related posts:

Java Program to Implement D-ary-Heap
Spring Boot - Rest Controller Unit Test
Java Program to Implement Stack
Introduction to PCollections
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java Program to Implement Weight Balanced Tree
Java Program to Perform Arithmetic Operations on Numbers of Size
Quick Guide to the Java StringTokenizer
Anonymous Classes in Java
Java Program to Solve any Linear Equation in One Variable
Java Program to Implement Cartesian Tree
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Vòng lặp for, while, do-while trong Java
Java Program to Implement DelayQueue API
Thao tác với tập tin và thư mục trong Java
Java Convenience Factory Methods for Collections
@Lookup Annotation in Spring
Spring Boot Security Auto-Configuration
Spring Boot Configuration with Jasypt
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Hướng dẫn Java Design Pattern – Memento
Java Program to Implement Shunting Yard Algorithm
Generating Random Dates in Java
Converting String to Stream of chars
Convert Character Array to String in Java
How to Use if/else Logic in Java 8 Streams
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java – Byte Array to Reader
The StackOverflowError in Java
Java Program to Implement CopyOnWriteArrayList API
String Processing with Apache Commons Lang 3

3 Trackbacks / Pingbacks

  1. HashSet trong java – Blog của VietMX
  2. LinkedHashSet trong java – Blog của VietMX
  3. TreeSet và sử dụng Comparable, Comparator trong java – Blog của VietMX

Comments are closed.