(1)一个人只要自己不放弃自己,整个世界也不会放弃你.
(2)天生我才必有大用
(3)不能忍受学习之苦就一定要忍受生活之苦,这是多么痛苦而深刻的领悟.
(4)做难事必有所得
(5)精神乃真正的刀锋
(6)战胜对手有两次,第一次在内心中.
(7)编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~
Java SE 048 Map深入详解及遍历Map的两种实现手段
1.Map(映射)
将一个键映射到它的值上。一个Map不能包含重复的键。每一个键可以映射到一个值上面,不可以映射到多个值上。
只要出现map就要想到是一对儿。
put(K key,V value);将指定的值关联到指定到关联的键当中
## 2.values()与keySet()返回的类型为什么不同
是因为值集当中可以有重复值,但是键集当中不能有重复值。
Set符合键集不可以重复,而Collection符合值集允许有重复值。
package com.javase.map;
import java.util.HashMap;
public class MapTest2 {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
HashMap map = new HashMap();
String str = "zhangsan";
map.put("a", str);
map.put("b", str);
System.out.println(map);
}
}
Map的keySet()方法会返回key的集合,因为Map的键是不能重复的,因此keySet()方法返回类型是Set;而Map的值是可以重复的,因此values()方法返回的类型是Collection,可以容纳重复的元素。
3.遍历map集合
package com.javase.map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class MapTest3 {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
HashMap map = new HashMap();
map.put("a", "aa");
map.put("b", "bb");
map.put("c", "cc");
map.put("d", "dd");
map.put("e", "ee");
map.put("f", "ff");
Set set = map.keySet();
for(Iterator iter = set.iterator(); iter.hasNext();){
String key = (String)iter.next();
String value =(String)map.get(key);
System.out.println(key+"="+value);
}
}
}
4.通过命令行传入参数,统计命令行参数相同参数出现的次数
package com.javase.map;
import java.util.HashMap;
import java.util.Iterator;
public class MapTest4 {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
HashMap map = new HashMap();
for(int i = 0; i < args.length; i++){
//如果不存在这个元素就返回null,则此时可将这个值放进map进行记录,不为null表明以前它已经存在过了
//存在则可以将其取出来,然后再放回去即可
if(map.get(args[i])==null){
map.put(args[i], new Integer(1));
}else{
Integer in= (Integer)map.get(args[i]);
in = new Integer(in.intValue()+1);
map.put(args[i], in);
}
}
for(Iterator iter = map.keySet().iterator();iter.hasNext();){
String key = (String)iter.next();
Integer value = (Integer)map.get(key);
System.out.println(key+"出现"+value+"次");
}
}
}