import java.util.*;

public class BuktiDuplikat {
    public static void main(String[] args) {
        Set<String> belanja = new HashSet<>();
        System.out.println("add(\"Kopi\")      : " + belanja.add("Kopi"));
        System.out.println("add(\"Teh\")       : " + belanja.add("Teh"));
        System.out.println("add(\"Kopi\") lagi : " + belanja.add("Kopi"));
        System.out.println("Isi    : " + belanja + " (ukuran " + belanja.size() + ")");

        // Dua objek String berbeda yang bernilai sama.
        String a = new String("Gula");
        String b = new String("Gula");
        System.out.println("a == b      : " + (a == b));
        System.out.println("a.equals(b) : " + a.equals(b));
        System.out.println("add(a)      : " + belanja.add(a));
        System.out.println("add(b)      : " + belanja.add(b));
        System.out.println("Isi    : " + belanja + " (ukuran " + belanja.size() + ")");

        // contains memakai equals, bukan identitas referensi.
        System.out.println("contains(\"Kopi\") : " + belanja.contains("Kopi"));
    }
}
