在Java編程中,set和map是兩個非常常用且重要的數據結構。它們可以用來存儲和操作各種類型的數據,包括數字、字符串、對象等
Set是一種無序的集合,它不允許重復元素。當我們只需要存儲不重復元素的情況下,可以使用set。在Java中,有多種Set實現,如HashSet、TreeSet和LinkedHashSet等
Set set = new HashSet(); set.add("apple"); set.add("banana"); set.add("orange"); set.add("apple"); System.out.println(set); //輸出:[banana, orange, apple]
Map是一種鍵值對的集合,每個元素包含一個key和一個value。可以使用key值來訪問對應的value。在Java中,有多種Map實現,如HashMap、TreeMap和LinkedHashMap等
Map map = new HashMap(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); System.out.println(map.get("key2")); //輸出:value2
Set和Map之間有很大的聯系。實際上,我們可以使用Map來模擬Set。例如,我們可以將元素作為key,值為一個固定的對象放入Map中,這樣就實現了一個Set。同時,Set的實現也可以利用Map。HashSet的實現就是將元素作為key,值為一個固定的對象放入HashMap中
class MySet { private Map map; private static final Object PRESENT = new Object(); public MySet() { map = new HashMap(); } public void add(Object obj) { map.put(obj, PRESENT); } public boolean contains(Object obj) { return map.containsKey(obj); } } MySet set = new MySet(); set.add("apple"); set.add("banana"); set.add("orange"); System.out.println(set.contains("banana")); //輸出:true
總之,在Java編程中,set和map是兩個非常常用且重要的數據結構,它們通常會被用來存儲和操作各種類型的數據。另外,它們之間也有密切的聯系,我們可以利用Map來實現Set,也可以利用Map來實現HashSet的底層實現
上一篇java求循環數的和
下一篇css主頁和子頁