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):查找值最小(大)的key
代码示例
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