当前位置: 编程技术>移动开发
本页文章导读:
▪接口 Map.Entry<K,V> 接口 Map.Entry<K,V>
http://www.jar114.com/jdk6/zh_CN/api/java/util/Map.Entry.html Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方.........
▪ 八种结构型模式 之1 PROXY 代理模式 8种结构型模式 之1 PROXY 代理模式
代理模式也叫委托模式,给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。是一项基本的设计技巧。分为普通代理和强制代理。 另一.........
▪ 软件工程师应怎样度过一生 程序员应怎样度过一生
最近换工作了,毕业一年多了,还是和开始那么迷茫,人总是那么奇怪,找不到工作了,努力去学习,去找好的工作,找到工作了就会想象更好的工作,不知道.........
[1]接口 Map.Entry<K,V>
来源: 互联网 发布时间: 2014-02-18
接口 Map.Entry<K,V>
http://www.jar114.com/jdk6/zh_CN/api/java/util/Map.Entry.html
Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:
Map map = new HashMap();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry entry = (Map.Entry)iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
Map的常见用法总结
http://www.jar114.com/jdk6/zh_CN/api/java/util/Map.Entry.html
Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:
Map map = new HashMap();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry entry = (Map.Entry)iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
Map的常见用法总结
java如何遍历map的所有的元素2009-03-01 16:04关键字: java如何遍历map的所有的元素(各种方法) JDK1.4中 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); } JDK1.5中,应用新特性For-Each循环 Map m = new HashMap(); for(Object o : map.keySet()){ map.get(o); } 返回的 set 中的每个元素都是一个 Map.Entry 类型。 private Hashtable<String, String> emails = new Hashtable<String, String>(); //方法一: 用entrySet() Iterator it = emails.entrySet().iterator(); while(it.hasNext()){ Map.Entry m=(Map.Entry)it.next(); logger.info("email-" + m.getKey() + ":" + m.getValue()); } // 方法二:jdk1.5支持,用entrySet()和For-Each循环() for (Map.Entry<String, String> m : emails.entrySet()) { logger.info("email-" + m.getKey() + ":" + m.getValue()); } // 方法三:用keySet() Iterator it = emails.keySet().iterator(); while (it.hasNext()){ String key; key=(String)it.next(); logger.info("email-" + key + ":" + emails.get(key)); } // 方法五:jdk1.5支持,用keySEt()和For-Each循环 for(Object m: emails.keySet()){ logger.info("email-" + m+ ":" + emails.get(m)); } 另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象 Map aa = new HashMap(); aa.put("tmp1", new Object()); //追加 替换用同样的函数. aa.remove("temp1"); //删除 for (Iterator i = aa.values().iterator(); i.hasNext(); ) { Object temp = i.next(); } //遍历 来个完整的,包含TreeSet的元素内部排序的 public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); HashMap<Object,Object> hash = new HashMap<Object,Object>(); TreeMap<Object,Object> treeMap = new TreeMap<Object,Object>(); list.add("a"); list.add("b"); list.add("c"); hash.put(3, 3); hash.put(4, 4); hash.put(5, 5); hash.put(6, 6); hash.put(1, 1); hash.put(2, 2); treeMap.put(1, 1); treeMap.put(2, 2); treeMap.put(3, 3); treeMap.put(4, 4); treeMap.put(5, 5); treeMap.put(6, 6); //list遍历 for(String m: list){ System.out.println(m); } // hashmap entrySet() 遍历 for(Map.Entry<Object,Object> m: hash.entrySet()){ System.out.println(m.getKey()+"---"+m.getValue()); } //hashmap keySet() 遍历 for(Object m: hash.keySet()){ System.out.println(m+"---"+hash.get(m)); } // treemap keySet()遍历 for(Object m: treeMap.keySet()){ System.out.println(m+"---"+treeMap.get(m)); } }
[2] 八种结构型模式 之1 PROXY 代理模式
来源: 互联网 发布时间: 2014-02-18
8种结构型模式 之1 PROXY 代理模式
代理模式也叫委托模式,给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。是一项基本的设计技巧。分为普通代理和强制代理。 另一个角度又分为静态代理和动态代理。
Subject接口
RealSubject类
ProxySubject类
TestProxy 测试类:
测试结果:
游戏代练帮忙打怪
1:普通代理:由代理生成真实角色,真是角色不能直接new出来
约定真实角色不能 直接 new ,必须通过代理类才能操作。
真实角色,构造函数中 有 代理类参数,做判断
代理类构造函数中 new 真实角色
测试类:
2:强制代理:由真是角色指定代理,不是指定的代理不能调方法
测试:
代理模式也叫委托模式,给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。是一项基本的设计技巧。分为普通代理和强制代理。 另一个角度又分为静态代理和动态代理。
Subject接口
public interface Subject { void operation(String arg); }
RealSubject类
public class RealSubject implements Subject { @Override public void operation(String arg) { System.out.println("实际操作, 参数:" + arg); } }
ProxySubject类
public class ProxySubject implements Subject { private Subject beProxy; public ProxySubject(Subject beProxy) { this.beProxy = beProxy; } @Override public void operation(String arg) { System.out.println("代理操作, 参数:" + arg); beProxy.operation(arg); } }
TestProxy 测试类:
public class TestProxy { public static void main(String[] args) { RealSubject realSubject = new RealSubject(); ProxySubject proxySubject = new ProxySubject(realSubject); System.out.println("------------Without Proxy ------------"); doSomething(realSubject); System.out.println("------------With Proxy ------------"); doSomething(proxySubject); } public static void doSomething(Subject subject){ subject.operation("flynewton"); } }
测试结果:
引用
------------Without Proxy------------
实际操作,参数:liuwentao
------------With Proxy------------
代理操作,参数:liuwentao
实际操作,参数:liuwentao
实际操作,参数:liuwentao
------------With Proxy------------
代理操作,参数:liuwentao
实际操作,参数:liuwentao
游戏代练帮忙打怪
1:普通代理:由代理生成真实角色,真是角色不能直接new出来
约定真实角色不能 直接 new ,必须通过代理类才能操作。
真实角色,构造函数中 有 代理类参数,做判断
public GamePlayer(IGamePlayer _gamePlayer,String _name) throws Exception{ if(_gamePlayer == null ){ throw new Exception("不能创建真是角色!"); }else{ this.name = _name; } }
代理类构造函数中 new 真实角色
public GamePlayerProxy(String name){ try { gamePlayer = new GamePlayer(this,name); } catch (Exception e) { } }
测试类:
IGamePlayer proxy = new GamePlayerProxy("张三"); proxy.login("zhangsan","password");
2:强制代理:由真是角色指定代理,不是指定的代理不能调方法
测试:
//定义个游戏的角色 IGamePlayer player = new GamePlayer("张三"); //获得指定的代理 IGamePlayer proxy = player.getProxy(); //开始打游戏,记下时间戳 System.out.println("开始时间是:2009-8-25 10:45"); proxy.login("zhangSan", "password"); //开始杀怪 proxy.killBoss(); //升级 proxy.upgrade(); //记录结束游戏时间 System.out.println("结束时间是:2009-8-26 03:40");
[3] 软件工程师应怎样度过一生
来源: 互联网 发布时间: 2014-02-18
程序员应怎样度过一生
最近换工作了,毕业一年多了,还是和开始那么迷茫,人总是那么奇怪,找不到工作了,努力去学习,去找好的工作,找到工作了就会想象更好的工作,不知道是自己逼迫自己不断的前进,还是被社会的发展逼的走投无路才去前进,或者两者都有吧。
写程序是永远没有停止的思考,我们不停的思考我们的代码,思考着可能出现问题的地方,思考新的解决方法,生怕哪一步会出错。其实人生也是这样的,我们每天那么努力的工作学习,为了让我们的亲人生活的更好些,为了让社会认可我们。努力永远是个不过时的词汇。
我思考着怎么提高人的思想,品质,看待问题分析问题的能力,我思考着别人看待问题的方式,思考着人们对待事物的态度,有的虚伪真的像真的,有的真诚真的像虚伪,可能真正有高尚品德的人是不会让人看出虚伪的,不管你有一双多么敏感的眼睛。
人或者要有自己的规划,有自己的思想和灵魂,程序员也一样,我们不应该让别人的言行阻碍了我们行动的步伐,我们有思想也要有计划,去行动,得到自己预订的结果,不然那是固执。
人最重要的不是有多少钱,而是多么健康,投资自己的健康,永远是最赚钱的买卖。每天坚持为自己的健康而努力,是一个人毅力的表现形式,真的,谁能每天都坚持去做了。 喜欢自己不喜欢的人,喜欢对自己不好的人,喜欢排挤自己的人,喜欢自己一切不喜欢的人,这个好像很难,其实也很容易。
每天都有有计划的去度过,有计划就要有结果,一步一步的做,可能当你没有去最求成功的时候,却真的已经成功了。努力踏实的走好自己的每一步,细细思考自己做的每件事,人还是有心最好,虽然我自认为没有心,但我会朝着有心人的方向去努力,真正的对别人好,对自己好。
1 楼
silenceisall
2011-09-13
有同感。。。。。
写的很好!
写的很好!
最新技术文章: