import javax.print.attribute.standard.SheetCollate;
import java.util.*;
public class test_hashMap {
public static void main(String[] args) {
//Map是值对,必须指定key和value的类型
Map<String,String> maps=new HashMap<>();
maps.put("姓名","张三");
maps.put("年龄","32");
maps.put("性别","男");
//后面key值为“姓名”,就把前面的key值姓名做覆盖
maps.put("姓名","李四");
System.out.println(maps);
//遍历map,使用key和value,把所有key取出来不会重复,形成一个Set
System.out.println("第一种方法遍历map");
//遍历map第一种方法:使用keySet方法,结果是一个Set,遍历每一个键。出值
Set<String> mykeys=maps.keySet();
//遍历这个key,根据key取value
for(String key:mykeys){
//里面的变量都是for的全局
System.out.println(key+"----->"+maps.get(key));
}
System.out.println("第二种方法遍历map");
//map另外的遍历方法,都有一个Iterator,使用迭代器遍历map,当元素个数多,可以处理
//keyset取所有的key,后面采用迭代器
Set<String> myotherkeys=maps.keySet();
//调用集合set的迭代器,iterator方法获取到这个集合的迭代器
Iterator<String> myiter=myotherkeys.iterator();
//采用遍历迭代器方法,现在迭代器中存放的是key
while(myiter.hasNext()){
String key=myiter.next();
//再取value
String value=maps.get(key);
System.out.println(key+"-------->"+value);
}
//取其中一个数据,按key值
//第三种map的遍历,HashMap的遍历还有一个entrySet
Set<Map.Entry<String,String>> myentrys=maps.entrySet();
for(Map.Entry<String,String> entry:myentrys){
String key=entry.getKey();
String value=entry.getValue();
System.out.println(key+"------------>"+value);
}
//map的遍历第四种,使用entrySet,用迭代器的形式
Set<Map.Entry<String,String>> myentry=maps.entrySet();
//获取entrySet的迭代器
Iterator myiter1=myentry.iterator();
//迭代器不清楚列表元素的个数
while(myiter1.hasNext()){
Map.Entry<String,String> entry1=(Map.Entry<String,String>)myiter1.next();
String key=entry1.getKey();
String value=entry1.getValue();
System.out.println(key+"-----------4------>"+value);
}
//map遍历的第五种方法,可以通过values获取Map中的所有值
//遍历所有值,
Collection<String> myvalues=maps.values();
ArrayList<String> mylist=new ArrayList(myvalues);
//遍历所有的键
Set<String> myanotherkeys=maps.keySet();
ArrayList<String> mysets=new ArrayList(myanotherkeys);
//获取所有键或的值的任意一个长度
int len=mysets.size();
//把每个键与每个值做对应。
for(int i=0;i<len;i++){
System.out.println(mysets.get(i)+"----------->"+mylist.get(i));
}
//删除,remove,需要传入一个key值
maps.remove("年龄");
System.out.println(maps);
//put修改, maps的名字加上 key,后面直接跟赋值符号
maps.put("性别","女");
System.out.println(maps);
}
}
相关其他代码可以从下面的链接查看下载