DEV Community

Saravanan Lakshmanan
Saravanan Lakshmanan

Posted on

Java Learning Series - Finding Unique and Duplicate categories using HashSet

    public HashSet<String> findUniqueCategory(){
        ArrayList<Product> arr = dao.viewProduct();
        //container to add only unique category to avoid duplication
        HashSet<String> set = new HashSet();

        for(Product product : arr){
            set.add(product.getCategory());
        }
    return set;
    }

    public HashSet<String> findUniqueDuplicateCategory(){

        ArrayList<Product> arr = dao.viewProduct();
        HashSet<String> set = new HashSet();

        for(Product product : arr){
            if(set.add(product.getCategory())){
                System.out.println("Unique Category: "+ product.getCategory());
            }else{
                System.out.println("Duplicate Category: "+ product.getCategory());
            }
        }
    return set;
    }

    public HashSet<String> findDuplicateUniqueCategory(){

        ArrayList<Product> arr = dao.viewProduct();
        HashSet<String> uniqueSet = new HashSet();
        HashSet<String> duplicateSet = new HashSet();

        for(Product product : arr){
            boolean unique = uniqueSet.add(product.getCategory());
            if(!unique){
                duplicateSet.add(product.getCategory());
            }
        }
    return duplicateSet;
    }

Enter fullscreen mode Exit fullscreen mode

Output:

SQL is Connected
[3-Laptop-Electronics-50000, 2-Ipad-Electronics-40000, 1-Chair-Furniture-10000, 4-Shirt-Clothing-1000, 5-Pant-Clothing-2000]
SQL is Connected
[]
SQL is Connected
[Clothing, Electronics, Furniture]
SQL is Connected
Unique Category: Electronics
Duplicate Category: Electronics
Unique Category: Furniture
Unique Category: Clothing
Duplicate Category: Clothing
[Clothing, Electronics, Furniture]
SQL is Connected
[Clothing, Electronics]

Enter fullscreen mode Exit fullscreen mode

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.