1.HashMap
哈希表對于基礎類型的key使用按值傳遞,非基礎l類型的keyl是按引用傳遞
典型方法:
- put(key, value):向表中增加或者更改元素。
- containsKey(key):判斷是否包含某個key。
- get(key):獲取key對應的值。
- remove(key):刪除key。
代碼示例
HashMap<Integer, String> map = new HashMap<>(); map.put(4,"梁"); map.put(1,"白"); map.put(6,"張"); map.put(2,"單"); System.out.println(map.containsKey(6)); //true System.out.println(map);//{1=白, 2=單, 4=梁, 6=張} System.out.println(map.get(6));//張 map.remove(4); System.out.println(map.get(4)); //null
2.HashSet
hashset中相當于只有key,典型方法:
- add:增加元素。
- contains(object):判斷是否包含某個元素。
- remove(object):刪除某個元素。
代碼示例
HashSet<String> set = new HashSet<>(); set.add("白"); set.add("單"); set.add("錢"); set.add("趙"); System.out.println(set.contains("張")); //false System.out.println(set); //[錢, 單, 趙, 白] set.remove("錢"); System.out.println(set.contains("錢"));//false
3. TreeMap
方法與hashmap類似,但它的時間復雜度為O(logN),前兩者的時間復雜度為O(1)。
- put(key, value):向表中增加或者更改元素。
- containsKey(key):判斷是否包含某個key。
- get(key):獲取key對應的值。
- remove(key):刪除key。
- floorKey(key): 查找<=key并最接近key的key。
- ceilingKey(key):查找>=key并最接近key的key
- firstKey(lastKey):查找值最?。ù螅┑膋ey
代碼示例
TreeMap<Integer, String> treeMap = new TreeMap<>(); treeMap.put(4,"錢"); treeMap.put(1,"白"); treeMap.put(6,"張"); treeMap.put(2,"單"); System.out.println(treeMap.containsKey(6)); //true System.out.println(treeMap);//{1=白, 2=單, 4=錢, 6=張} System.out.println(treeMap.get(6));//張 System.out.println(treeMap.floorKey(3));//2 System.out.println(treeMap.ceilingKey(2));//2 System.out.println(treeMap.floorEntry(1));//1=白 System.out.println(treeMap.firstKey());//1 System.out.println(treeMap.lastKey());//1 treeMap.remove(4); System.out.println(treeMap.get(4));//null