当前位置:  编程技术>移动开发
本页文章导读:
    ▪接口 Map.Entry<K,V&gt        接口 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&gt
    来源: 互联网  发布时间: 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的常见用法总结
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接口
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


游戏代练帮忙打怪



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  
有同感。。。。。

写的很好!  


  

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
Web服务器/前端 iis7站长之家
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3