Java中的Collection用于存儲和操作一組對象。Set是Collection的一種特殊形式,它不允許存儲重復(fù)的元素。Java提供了許多Set實現(xiàn),如HashSet、TreeSet和LinkedHashSet。
SetmySet = new HashSet<>(); mySet.add("apple"); mySet.add("banana"); mySet.add("orange"); mySet.add("apple"); // 添加重復(fù)元素,不會被存儲 System.out.println(mySet); // 輸出 [orange, banana, apple]
Set可以用于去重和快速查找。HashSet是最常用的實現(xiàn),它提供O(1)的常數(shù)時間復(fù)雜度進行添加、刪除和查找操作。TreeSet提供了有序集合的功能,但是添加、刪除和查找操作的時間復(fù)雜度為O(log n)。
SetmySet = new TreeSet<>(); mySet.add(5); mySet.add(2); mySet.add(8); mySet.add(2); // 添加重復(fù)元素,不會被存儲 System.out.println(mySet); // 輸出 [2, 5, 8]
Collection接口提供了許多操作集合的方法,如add、remove、contains、size和isEmpty等。List、Set和Queue接口是Collection的三個子類,它們分別表示有序集合、無序集合和隊列。其他常用的Collection實現(xiàn)還有ArrayList、LinkedList和PriorityQueue。
ListmyList = new ArrayList<>(); myList.add("apple"); myList.add("banana"); myList.add("orange"); System.out.println(myList.get(1)); // 輸出 banana
總之,Collection和Set在Java中是非常常用的數(shù)據(jù)結(jié)構(gòu),它們提供了大量的實現(xiàn)和操作,適用于各種不同的場景。