HashMap
- 是以键-值(key-value)的方式存放数据的
- key不允许重复
- key,value允许为null
- 集合中存放的对象是无序的
HashMap,4种打印方式
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashM {
public static void main(String[] args) {
Map<String, String> max = new HashMap<String, String>(5);
// contact.put("豆豆","12345");
//无序
// HashMap max = new HashMap();
max.put("豆豆1","12345");
max.put("豆豆2","22345");
max.put("豆豆3","32345");
max.put("豆豆4","42345");
max.put("豆豆5","52345");
//打印出所有元素,四种方法 ,有序的
//第一种 增强for循环
for(String key : max.keySet() ) {
System.out.println("max.key :"+key+" max.values "+max.get(key));
}
System.out.println();
//第二种 ,迭代器 ,遍历 key 和values
Iterator min = max.entrySet().iterator();
while(min.hasNext()) { //hasNext和next是Scanner的api用法
System.out.println(min.next());
}
System.out.println();
//第三种 , 迭代器不同写法
// 获取所有key
Set<String> keySet = max.keySet();
Set<String> keys = keySet;
// 获取迭代器
Iterator<String> keyIterator = keys.iterator();
while(keyIterator.hasNext()) {
System.out.println(keyIterator.next());
}
System.out.println();
//第四种,,,,System.out.println("\n通过Map.entrySet遍历key和value");
//entrySet是 键-值 对的集合
// Map.Entry里面包含getKey()和getValue()方法
for(Map.Entry<String, String> entry: max.entrySet())
{
System.out.println("Key: "+ entry.getKey()+ " Value: "+entry.getValue());
}
System.out.println();
//第5种
System.out.println("\n通过Map.values()遍历所有的value,但不能遍历key");
for(String v:max.values())
{
System.out.println("The value is "+v);
}
System.out.println();
//get() 取对应的values值
System.out.println("豆豆2的values为:"+max.get("豆豆2"));
//集合长度
System.out.println("max.seiz()= "+max.size());
//remove(Object key) 移除指定键的映射关系(如果存在)。
String mee = (String) max.remove("豆豆2"); //两边都要有string 或者 max.remove(豆豆3);
System.out.println("max.seiz()= "+max.size());
//clear 清空
max.clear();
}
public static void menu() {
}
}
TreeMap
- 自然顺序进行排序