HashMap
//Map---HashMap
/*
HashMap:键值对存放方式,将值存放到容器中,每个值都有一个键所对应
值集可以重复,因为值集是一个List
键集不能重复,因为键集是一个Set
如果键集重复,后边的值会将前边的值覆盖掉
进行排序,查找等操作需将Map转换成Set或List
HashMap可以以存放null值,键集(key)只能放一个null
*/
public class DemoC {
public static void a(){
Map<String,Object> map = new HashMap<>();
//如何存放内容
map.put("A",89);//起了个别名为A,值为89
map.put("B",88);
map.put("C",87);
map.put("D",88);
map.put("E",88);
map.put("E",85);
map.put("E",82);//覆盖掉之前E键所对应的值
map.put("A",88);//覆盖掉之前A键所对应的值
//如何获取内容
Object value1 = map.get("A");
//map.remove("A");//将“A”键所对应的值删除掉
int size = map.size();
System.out.println(size);
boolean b = map.isEmpty();
System.out.println(b);
Set<String> keys = map.keySet();//获得所有的键集 键集不允许重复
System.out.println(keys);
Collection<Object> values = map.values();//获得所有的值集 值集可以重复
System.out.println(values);
boolean b1 = map.containsKey("A");//先HashCode再equals
boolean b2 = map.containsValue(89);//List怎么判断这个就怎么判断 equals判断
System.out.println(map);
}
public static void b(){
Map<String,Object> map= new HashMap<>();
map.put("A",99);
map.put("A",88);
map.put("B",99);
map.put("null",89);
map.put("C",null);
map.put("null",34);
Set<String> set = map.keySet();
System.out.println(set);
Collection<Object> cl = map.values();
System.out.println(cl);
}
public static void main(String[] args){
b();
}
}
TreeMap
//Map--TreeMap
public class DemoD {
public static void a(){
TreeMap<String,Object> map = new TreeMap<>();
map.put("A","aa");
map.put("A","tt");//覆盖
map.put("B","tt");
//map.put(null,"mm");
map.put("C",null);
//map.put(null,null);//报错,TreeMap不允许键为null
Object value1 = map.get("A");
System.out.println(value1);
map.remove("B");
System.out.println(map);
Set<String> keys = map.keySet();
System.out.println(keys);
Collection<Object> values = map.values();
System.out.println(values);
boolean b1 = map.containsKey("A");
boolean b2 = map.containsValue(null);
System.out.println(b1+ " " +b2 );
int size = map.size();
System.out.println(size);
map.clear();
}
public static void main(String[] args) {
a();
}
}
Hashtable
public class DemoE{
public static void main(String[] args) {
Hashtable<String, Object> table = new Hashtable<>();
table.put("A","aa");
//table.put(null,"bb");//报错
//table.put("B",null);//报错
System.out.println(table);
}
}
/*
HashMap,Hashtable和TreeMap
HashMap键和值都能放null,键只能放一个null
Hashtable键和值都不能放null
TreeMap键不能放null,值能放null
*/