import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

public class UrutanPertemuan {

    public static void main(String[] args) {
        List<String> urutanMasuk = List.of("Budi", "Siti", "Dewi", "Ani");

        // List: encounter order = urutan penyimpanan
        System.out.println("List           = " + urutanMasuk.stream().collect(Collectors.toList()));

        // HashSet: tidak punya encounter order
        Set<String> himpunan = new HashSet<>(urutanMasuk);
        System.out.println("HashSet        = " + himpunan.stream().collect(Collectors.toList()));

        // LinkedHashSet: encounter order = urutan penyisipan
        Set<String> sisipan = new LinkedHashSet<>(urutanMasuk);
        System.out.println("LinkedHashSet  = " + sisipan.stream().collect(Collectors.toList()));

        // sorted tetap mengurutkan apa pun sumbernya
        System.out.println("HashSet sorted = " + himpunan.stream().sorted().collect(Collectors.toList()));
    }
}
