HashMap数据读取问题,求教!(这次是个新的问题,上个帖子时间太长,无法编辑了)
上一个问题,感谢pywepe的回答,谢谢这回,我写了3个类
public class Map{} 用于存储数据,里面有put()方法和get()方法
public class Test {} 用于输入数据
public class Enter {} 用于读取数据,并输出
现在的问题是,我添加完数据后,在Test {} 里直接调用get()方法能把数据全输出
但是我使用Enter {} 输出数据就全为null,
自己分析可能是 public class Enter {
Map m = new Map(); //这里出了问题,new 出一个新的Map
........
}
现在我想在别的类里读取原来的数据,Enter {}类应该怎么写?
程序代码:
import java.util.*; public class Map{ private HashMap<String, String> map; public Map(){ this.map=new HashMap<String,String>(); } public void put(String key,String value){ this.map.put(key,value); } public void get(){ Set keySet = map.keySet(); Iterator<String> it= keySet.iterator(); while(it.hasNext()) { String key = it.next(); String val = map.get(key); System.out.println(key + " " + val); } } }
程序代码:
import java.util.*; public class Test { public static void main(String[] args) { Map m = new Map(); Enter en = new Enter(); Scanner sc = new Scanner(System.in); for(int i = 0 ; i < 3 ; i++){ String key = sc.next(); String val = sc.next(); m.put(key,val); } m.get(); en.enter(); } }
程序代码:
public class Enter { Map m = new Map(); public void enter(){ m.get(); } }