偶在一个网站上看到一句话:当对Map进行修改操作后,entrySet()函数都会被调用。所以对Map的修改也会产生对这个Set的修改。不知是什么意思?哪位高人写个代码出来记DD弄个明白呀(关键是怎样体现第二句话)?先谢了..
解决方案 »
- "".equals(text) 和 test==""有什么区别?
- Swing panel画板 repaint 问题
- 一个关于Class对象的问题
- object类如何转换为整型数组!
- final,finally和finalize有什么区别?
- 访问servlet为什么会提下载?
- J2ME开发的一些体会
- 在java中如何表示Long的unsigned??c语言中有unsigned long,那java中呢???谢谢了!!
- 调查!!!有多少朋友过了scjd呢??大家猜现在中国能有多少人过??
- JAVA的数据库编程一定要用底层的JDBC吗?
- 高手进来给点意见吧,关于JAVA做EMAIL Client
- 菜鸟的hello非技术问题
public class A { /**
* @param args
*/
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put("a","aa");
map.put("b","bb");
Set set = map.entrySet();
System.out.println(set);
map.remove("a");
//未调用entrySet,下面的输出结果已经变了
System.out.println(set);
}}
其中believefym(feng)说的是通过map改变set,而以下就是通过SET 改变MAP(两者关联)import java.util.*;
public class A { /**
* @param args
*/
public static void main(String[] args) {
Map map = new HashMap();
map.put("a","aa");
map.put("b","bb");
Set set = map.entrySet();
System.out.println(set); Iterator it=set.iterator();
it.next();
it.remove();
//未调用entrySet,下面的输出结果已经变了
//set=map.entrySet();
System.out.println(map);
}}
你不用重新去再申明一次.