以下代码记录了java的构造函数的使用,以及遍历map的4种方法,本人通常使用第四种方法。
package map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class ErgodicMap {
Map<String,Integer> map = new HashMap<String, Integer>();
/**
* 定义构造方法,构造方法的特点如下:
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
*/
public ErgodicMap(){
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.put("d", 4);
}
/**
* 遍历方法1
*/
public void method1(){
System.out.println("遍历Map的方法一:HashMap的entrySet()方法遍历");
Iterator<Entry<String, Integer>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, Integer> entry = (Entry<String, Integer>) iterator.next();
String key = entry.getKey();
int value = entry.getValue();
System.out.println("========Key======"+key + "========Value====="+value);
}
}
/**
* 遍历方法2
*/
public void method2(){
System.out.println("遍历Map的方法二:利用foreach循环遍历");
for(Map.Entry<String, Integer> entry:map.entrySet()){
String key = entry.getKey();
int value = entry.getValue();
System.out.println("========Key======"+key + "========Value====="+value);
}
}
/**
* 遍历方法3
*/
public void method3(){
System.out.println("遍历Map的方法三:使用HashMap的keySet()方法遍历");
//遍历Map中的key
for(Iterator<String> i = map.keySet().iterator(); i.hasNext();){
String key = i.next();
//循环输出key
System.out.println("========Key======"+key);
//输出key和value
System.out.println("========Key======"+key + "=======Value======="+map.get(key));
}
//遍历Map中的value
for(Iterator<Integer> i = map.values().iterator(); i.hasNext();){
int value = i.next();
//循环输出value
System.out.println("=======Value======="+value);
}
}
/**
* 遍历方法4(通常使用的方法)
*/
public void method4(){
System.out.println("遍历Map的方法四:使用Tree的keySet()方法遍历");
for(String key:map.keySet()){
System.out.println("========Key======"+key + "=======Value======="+map.get(key));
}
}
public static void main(String[] args) {
ErgodicMap ergodicMap = new ErgodicMap();
//ergodicMap.method1();
//ergodicMap.method2();
//ergodicMap.method3();
ergodicMap.method4();
}
}