Java/J2EE and SOA (344 Blogs) Become a Certified Professional
Java/J2EE and SOA

Programming & Frameworks

Topics Covered
  • C Programming and Data Structures (16 Blogs)
  • Comprehensive Java Course (5 Blogs)
  • Java/J2EE and SOA (341 Blogs)
  • Spring Framework (8 Blogs)
SEE MORE Programming & Frameworks blog posts

Sets In Java: Know how to work with Java Set Interface

Published on Jul 12,2019 5.6K Views

image not found!image not found!image not found!image not found!Copy Link!

The Java Collection Framework contains numerous interfaces, one of which is the Set Interface. This article will give you a detailed introduction to Sets In Java. Following are the pointers to be covered in this article:

Sets In Java

Set be defined as a collection of unordered elements; wherein duplicate values cannot be stored. It extends Collection and thus all methods in the Collection interface are available in the Set interface. It is implemented by HashSet, LinkedHashSet, or the TreeSort.

Sets - Java Collections - Edureka

Each of these implementations act differently while iterating the set, mostly with respect to the ordering of the elements, and the time taken for insertion and for accessing the elements.

    • Hash Set does not provide any guarantee about the order of the elements while iterating the set.
    • LinkedHashSet on the other hand, provides a guarantee about the order of the elements while iterating them.
    • TreeSet provides guarantee, but the set is sorted according to the natural order, or by a specific comparator implementation.

    How to create a Set?

    The following code defines the method of creating a new set:

    1
    Set<Integer> num = new HashSet<>();

    We have used generics to declare the set of an integer type.

    Set Methods in Java:

    We can perform multiple operations on a set such as follows:

    Add Method

    The add method inserts an element to the Java collection. In the code below, we insert a set of names.

    1
    2
    3
    4
    Set<String> strName = new HashSet<>(); 
    strName.add("John"); 
    strName.add("Doe"); 
    System.out.println(strName); 

    Output:

    [John,  Doe]

    Remove Method

    This method removes the specified element from the set.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import java.util.*;
    public class Main{
        public static void main(String args[])
        {
            // Creating an Empty Set
            Set<String> set = new HashSet<String>();
       
            //Adding elements to the set
            set.add("John");
            set.add("Doe");
             
            // Display the set
            System.out.println("Set: " + set);
       
            // Removing the element “Doe” using remove() method
            set.remove("Doe");
             
            // Displaying the modified set
            System.out.println("Set : "
                               + set);
        }

    Output:

     

    Set : [John,  Doe]

    Set : [John]

    Is Empty Method

    This method checks determines whether the set is empty is not. It returns true if the set is empty, and false if otherwise.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    import java.io.*;
    import java.util.*;
     
    public class Main {
        public static void main(String args[])
        {
            Set<String> javaSet = new HashSet<String>();
     
            // Adding elements to the Set
            javaSet.add("John");
            javaSet.add("Doe");
     
            // Display the set
            System.out.println("Set: " + javaSet);
     
            // Checking whether the set is empty
            System.out.println("Empty Set : " + javaSet.isEmpty());
     
            // Clearing the set using the clear() method
            javaSet.clear();
     
            // Checking whether the set is empty
            System.out.println("Empty Set : " + javaSet.isEmpty());
        }
    }

    Output:

    Set : [John,  Doe]

    Empty Set : false

    Empty Set : true

    Size Method

    The size() method returns the size of the set, i.e. the number of elements present in the set.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import java.util.*;
    public class Main {
        public static void main(String args[])
        {
            // Creating a set
            Set<String> set = new HashSet<String>();
            set.add("John");
            set.add("Doe");
      
            System.out.println("Set: " + set);
     
            // Displaying the size of the sent
            System.out.println("Size of the set : " + set.size());
        }
    }

    Output:


    Set : [John,  Doe]

    Size of the set : 2

    Iterating Over A Set

    We can iterate over all the elements present in the set by the following method:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    import java.util.*;
    import java.util.HashSet;
     
    public class Main {
        public static void main(String args[])
        {
            // Creating a HashSet
            HashSet<String> javaSet = new HashSet<String>();
     
            javaSet.add("John");
            javaSet.add("Doe");
              
            // Displaying the set
            System.out.println("HashSet: " + javaSet);
     
            // Creating an iterator
            Iterator itr = javaSet.iterator();
     
            // Displaying the values after iteration
            System.out.println("Iterator values: ");
            while (itr.hasNext()) {
                System.out.println(itr.next());
            }
        }
    }

     

     

     

    Output:

    HashSet : [John,  Doe]

    Iterator Values:

    John

    Doe

    Searching in  A Set

    We use the contains() method to determine whether the set contains a specified element. Returns true if the element is found and false otherwise.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import java.io.*;
    import java.util.HashSet;
     
    public class Main {
        public static void main(String args[])
        {
            // Creating a HashSet
            HashSet<String> javaSet = new HashSet<String>();
            javaSet.add("John");
            javaSet.add("Doe");
     
            // Displaying the HashSet
            System.out.println("HashSet: " + javaSet);
     
            // Checking for “John” in the set
            System.out.println("John in set: " + javaSet.contains("John"));
     
            // Checking for "Hazel" in set
            System.out.println("Hazel in set: " + javaSet.contains("Hazel"));
        }
    }

    Output:

    HashSet : [John,  Doe]

    John in set: true

    Hazel in set: false

    Basic Operation On Sets in Java

    • Union: To add one set to another, we use the Union operation
    • Intersection: To retain the common values from both the sets, we use the intersection operation.
    • Difference: To remove the values of one set, from the other set, the difference operation is used.

    Example

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import java.util.*;
    public class Main
    {
        public static void main(String args[])
        {
            Set<Integer> d = new HashSet<Integer>();
            d.addAll(Arrays.asList(new Integer[] {3, 2, 1, 9, 6, 4, 0}));
            Set<Integer> e = new HashSet<Integer>();
            e.addAll(Arrays.asList(new Integer[] {3, 1, 9, 5, 2, 0, 7,}));
     
            // Union Operation
            Set<Integer> union = new HashSet<Integer>(d);
            union.addAll(e);
            System.out.println("Union :" + union);
     
            // Intersection Operation
            Set<Integer> intersection = new HashSet<Integer>(d);
            intersection.retainAll(e);
            System.out.println("Intersection :" + intersection); 
     
            // Difference Operation
            Set<Integer> difference = new HashSet<Integer>(d);
            difference.removeAll(e);
            System.out.println("Difference :" + difference); 
        }
    }

    Output:

    Union : [0, 1, 2, 3, 4, 5, 6, 7, 9]

     

    Intersection : [0, 1, 2, 3, 9]

    Difference : [4, 6]

    The methods and the operations mentioned in the method make the set interface elemental and efficient in nature.

    Thus we have come to an end of this article on ‘Sets in Java’. If you wish to learn more, check out the Java Training by Edureka, a trusted online learning company. Edureka’s Java J2EE and SOA training and certification course is designed to train you for both core and advanced Java concepts along with various Java frameworks like Hibernate & Spring.

    Got a question for us? Please mention it in the comments section of  “sets in java” article and we will get back to you as soon as possible.

    Comments
    0 Comments

    Join the discussion

    Browse Categories

    webinar REGISTER FOR FREE WEBINAR
    +91
    • India (भारत)+91
    • United States+1
    • United Kingdom+44
    • Afghanistan (‫افغانستان‬‎)+93
    • Albania (Shqipëri)+355
    • Algeria (‫الجزائر‬‎)+213
    • Andorra+376
    • Angola+244
    • Argentina+54
    • Armenia (Հայաստան)+374
    • Aruba+297
    • Australia+61
    • Austria (Österreich)+43
    • Azerbaijan (Azərbaycan)+994
    • Bahamas+1242
    • Bahrain (‫البحرين‬‎)+973
    • Bangladesh (বাংলাদেশ)+880
    • Barbados+1246
    • Belarus (Беларусь)+375
    • Belgium (België)+32
    • Belize+501
    • Benin (Bénin)+229
    • Bermuda+1441
    • Bhutan (འབྲུག)+975
    • Bolivia+591
    • Bosnia and Herzegovina (Босна и Херцеговина)+387
    • Botswana+267
    • Brazil (Brasil)+55
    • British Indian Ocean Territory+246
    • British Virgin Islands+1284
    • Brunei+673
    • Bulgaria (България)+359
    • Burkina Faso+226
    • Burundi (Uburundi)+257
    • Cambodia (កម្ពុជា)+855
    • Cameroon (Cameroun)+237
    • Canada+1
    • Cape Verde (Kabu Verdi)+238
    • Caribbean Netherlands+599
    • Cayman Islands+1345
    • Central African Republic (République centrafricaine)+236
    • Chad (Tchad)+235
    • Chile+56
    • China (中国)+86
    • Christmas Island+61
    • Cocos (Keeling) Islands+61
    • Colombia+57
    • Comoros (‫جزر القمر‬‎)+269
    • Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)+243
    • Congo (Republic) (Congo-Brazzaville)+242
    • Cook Islands+682
    • Costa Rica+506
    • Côte d’Ivoire+225
    • Croatia (Hrvatska)+385
    • Cuba+53
    • Curaçao+599
    • Cyprus (Κύπρος)+357
    • Czech Republic (Česká republika)+420
    • Denmark (Danmark)+45
    • Djibouti+253
    • Dominican Republic (República Dominicana)+1
    • Ecuador+593
    • Egypt (‫مصر‬‎)+20
    • El Salvador+503
    • Equatorial Guinea (Guinea Ecuatorial)+240
    • Eritrea+291
    • Estonia (Eesti)+372
    • Ethiopia+251
    • Falkland Islands (Islas Malvinas)+500
    • Faroe Islands (Føroyar)+298
    • Fiji+679
    • Finland (Suomi)+358
    • France+33
    • French Guiana (Guyane française)+594
    • French Polynesia (Polynésie française)+689
    • Gabon+241
    • Gambia+220
    • Georgia (საქართველო)+995
    • Germany (Deutschland)+49
    • Ghana (Gaana)+233
    • Gibraltar+350
    • Greece (Ελλάδα)+30
    • Greenland (Kalaallit Nunaat)+299
    • Grenada+1473
    • Guadeloupe+590
    • Guatemala+502
    • Guernsey+44
    • Guinea (Guinée)+224
    • Guinea-Bissau (Guiné Bissau)+245
    • Guyana+592
    • Haiti+509
    • Honduras+504
    • Hong Kong (香港)+852
    • Hungary (Magyarország)+36
    • Iceland (Ísland)+354
    • India (भारत)+91
    • Indonesia+62
    • Iran (‫ایران‬‎)+98
    • Iraq (‫العراق‬‎)+964
    • Ireland+353
    • Isle of Man+44
    • Israel (‫ישראל‬‎)+972
    • Italy (Italia)+39
    • Jamaica+1876
    • Japan (日本)+81
    • Jersey+44
    • Jordan (‫الأردن‬‎)+962
    • Kazakhstan (Казахстан)+7
    • Kenya+254
    • Kiribati+686
    • Kosovo+383
    • Kuwait (‫الكويت‬‎)+965
    • Kyrgyzstan (Кыргызстан)+996
    • Laos (ລາວ)+856
    • Latvia (Latvija)+371
    • Lebanon (‫لبنان‬‎)+961
    • Lesotho+266
    • Liberia+231
    • Libya (‫ليبيا‬‎)+218
    • Liechtenstein+423
    • Lithuania (Lietuva)+370
    • Luxembourg+352
    • Macau (澳門)+853
    • Macedonia (FYROM) (Македонија)+389
    • Madagascar (Madagasikara)+261
    • Malawi+265
    • Malaysia+60
    • Maldives+960
    • Mali+223
    • Malta+356
    • Marshall Islands+692
    • Martinique+596
    • Mauritania (‫موريتانيا‬‎)+222
    • Mauritius (Moris)+230
    • Mayotte+262
    • Mexico (México)+52
    • Micronesia+691
    • Moldova (Republica Moldova)+373
    • Monaco+377
    • Mongolia (Монгол)+976
    • Montenegro (Crna Gora)+382
    • Morocco (‫المغرب‬‎)+212
    • Mozambique (Moçambique)+258
    • Myanmar (Burma) (မြန်မာ)+95
    • Namibia (Namibië)+264
    • Nauru+674
    • Nepal (नेपाल)+977
    • Netherlands (Nederland)+31
    • New Caledonia (Nouvelle-Calédonie)+687
    • New Zealand+64
    • Nicaragua+505
    • Niger (Nijar)+227
    • Nigeria+234
    • Niue+683
    • Norfolk Island+672
    • North Korea (조선 민주주의 인민 공화국)+850
    • Norway (Norge)+47
    • Oman (‫عُمان‬‎)+968
    • Pakistan (‫پاکستان‬‎)+92
    • Palau+680
    • Palestine (‫فلسطين‬‎)+970
    • Panama (Panamá)+507
    • Papua New Guinea+675
    • Paraguay+595
    • Peru (Perú)+51
    • Philippines+63
    • Poland (Polska)+48
    • Portugal+351
    • Puerto Rico+1
    • Qatar (‫قطر‬‎)+974
    • Réunion (La Réunion)+262
    • Romania (România)+40
    • Russia (Россия)+7
    • Rwanda+250
    • Saint Barthélemy+590
    • Saint Helena+290
    • Saint Martin (Saint-Martin (partie française))+590
    • Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)+508
    • Samoa+685
    • San Marino+378
    • São Tomé and Príncipe (São Tomé e Príncipe)+239
    • Saudi Arabia (‫المملكة العربية السعودية‬‎)+966
    • Senegal (Sénégal)+221
    • Serbia (Србија)+381
    • Seychelles+248
    • Sierra Leone+232
    • Singapore+65
    • Sint Maarten+1721
    • Slovakia (Slovensko)+421
    • Slovenia (Slovenija)+386
    • Solomon Islands+677
    • Somalia (Soomaaliya)+252
    • South Africa+27
    • South Korea (대한민국)+82
    • South Sudan (‫جنوب السودان‬‎)+211
    • Spain (España)+34
    • Sri Lanka (ශ්‍රී ලංකාව)+94
    • Sudan (‫السودان‬‎)+249
    • Suriname+597
    • Svalbard and Jan Mayen+47
    • Swaziland+268
    • Sweden (Sverige)+46
    • Switzerland (Schweiz)+41
    • Syria (‫سوريا‬‎)+963
    • Taiwan (台灣)+886
    • Tajikistan+992
    • Tanzania+255
    • Thailand (ไทย)+66
    • Timor-Leste+670
    • Togo+228
    • Tokelau+690
    • Tonga+676
    • Tunisia (‫تونس‬‎)+216
    • Turkey (Türkiye)+90
    • Turkmenistan+993
    • Tuvalu+688
    • Uganda+256
    • Ukraine (Україна)+380
    • United Arab Emirates (‫الإمارات العربية المتحدة‬‎)+971
    • United Kingdom+44
    • United States+1
    • Uruguay+598
    • Uzbekistan (Oʻzbekiston)+998
    • Vanuatu+678
    • Vatican City (Città del Vaticano)+39
    • Venezuela+58
    • Vietnam (Việt Nam)+84
    • Wallis and Futuna (Wallis-et-Futuna)+681
    • Western Sahara (‫الصحراء الغربية‬‎)+212
    • Yemen (‫اليمن‬‎)+967
    • Zambia+260
    • Zimbabwe+263
    • Åland Islands+358
    webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP
    image not found!
    image not found!

    Sets In Java: Know how to work with Java Set Interface

    edureka.co

    preload imagepreload image