HashMap的两种遍历方式
2016-05-16 18:20
501 查看
在项目中涉及到HashMap遍历的问题,项目是用于商品订单支付。支付方式有百度支付,微信支付以及支付宝支付,如图所示:
现在把这三种支付方式的标识以及RadioButton存放到HashMap中(HashMap<String,RadioButton>
channels
= new
HashMap<>(3)),实现的功能是:
如果选择一种支付方式,那么其他的支付方式就要设置为非选中状态,并且当前的支付方式状态是之前状态的反面。
第一种:通过entrySet的方式来遍历:
第二种:通过keySet的方式来遍历:
现在把这三种支付方式的标识以及RadioButton存放到HashMap中(HashMap<String,RadioButton>
channels
= new
HashMap<>(3)),实现的功能是:
如果选择一种支付方式,那么其他的支付方式就要设置为非选中状态,并且当前的支付方式状态是之前状态的反面。
第一种:通过entrySet的方式来遍历:
/** * * @param payChannel 是支付方式 */ private void selectPayChannel(String payChannel) { this.payChannel = payChannel; for(Map.Entry<String,RadioButton> entry:channels.entrySet()){ RadioButton radioButton = entry.getValue(); if(entry.equals(payChannel)){ Boolean isChecked = radioButton.isChecked(); radioButton.setChecked(! isChecked); }else { radioButton.setChecked(false); } } }
第二种:通过keySet的方式来遍历:
/** * * @param payChannel 是支付方式 */ private void selectPayChannel(String payChannel) { this.payChannel = payChannel; for(String key:channels.keySet()){ RadioButton radioButton = channels.get(key); if(key.equals(payChannel)){ Boolean isChecked = radioButton.isChecked(); radioButton.setChecked(! isChecked); }else { radioButton.setChecked(false); } } }这两种方式都可以取到里面的值RadioButton。等把整个项目做完就上传上去吧。
相关文章推荐
- 与DevOps相关的一些概念:Trunk Based Development
- redis link 链表结构
- PAT (Advanced Level) 1018. Public Bike Management (30)
- 第十二周项目1-实现复数类中的运算符重载(2)
- 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取
- 扩展linux分区
- nginx 搭建rtmp流媒体服务器流程笔记
- 线程的sleep()方法和yield()方法有什么区别?
- 返回动态SQL语句中执行结果值
- Deep Learning(深度学习)学习笔记整理系列之(一)
- cglib问题
- c++ 间接方式改变const变量
- Mac 电脑设置 Apache2的虚拟主机
- POJ 2001-Shortest Prefixes【字典树】
- Android Studio运行程序时显示apk not exists
- 嵌入式linux的网络编程(2)--TCP Server程序设计
- div的显示
- Linux常用命令汇总-mv
- synchronized(this)和synchronized(object)区别
- 安装SQL Server 2008 哪些功能需要选择?