重点:在使用Map时注意key-value,key用于检索value的内容。

在正常情况下,可以不允许重复:在java中分为2中情况,一是内存地址重复,另一个是不同的地址但内容相等。

在使用Map是一定要特别注意,是否允许键值相等存储,在使用IdentityHashMap的键是变量时要小心。

在下面的示例中,键值为常量,指向同一个内存地址,所以会经过修改后还是保持相同数量的元素。

 import java.util.IdentityHashMap;
import java.util.Map; public class Main {
public static void main(String[] args) {
Map<String, String> m = new IdentityHashMap<String, String>();
m.put("a", "java");
m.put("b", "js");
m.put("c", "php");
System.out.println(m + ",size:" + m.size());
for (String key : m.keySet()) {
if (key.equals("c")) {
// m.remove("c");
m.put("c", "www");
}
// System.out.println("key= " + key + " and value= " + m.get(key));
}
System.out.println(m);
}
}

结果:

{b=js, a=java, c=php},size:3
{b=js, a=java, c=www}

借一张图,便于读者理解:

(图片来自:http://tianya23.blog.51cto.com/1081650/707603)

入门:Java Map<String,String>遍历及修改的更多相关文章

  1. Java Map对象的遍历

    一般情况下Map的实现类中用的最多的是 HashMap . Map的遍历也就是迭代 1. 在for-each循环中使用entries来遍历  (既要取键,又要取值) Map<String, St ...

  2. java Map 四种遍历方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  3. Java中ArrayList边遍历边修改

    用for-each 边遍历ArrayList 边修改时: public static void main(String[] args) { ArrayList<String> list = ...

  4. 【Java】遍历Map<String,String>

    Map<String, String> map = new HashMap<>(); map.put("key1", "value1") ...

  5. java List<Map<String,Object>遍历的方法

    public static void main(String[] args) { List<HashMap<String, Object>> list = new ArrayL ...

  6. JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类

    <pre name="code" class="java"></pre><pre name="code" cl ...

  7. json遍历,List<Map<String,Object>>遍历

    js怎样给input对象追加属性,如disabled $(":textbox").attr({"disabled":true}); List<Map< ...

  8. 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历

    分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...

  9. JAVA/Android Map与String的转换方法

    在Android开发中 Map与String的转换在,在一些需求中经常用到,使用net.sf.json.JSONObject.fromObject可以方便的将string转为Map.但需要导入jar包 ...

随机推荐

  1. 记录一次Quartz2D学习(五)

    (四)内主要讲了绘制状态的保存与恢复 本次主要讲述 缩放,旋转,平移等操作 5.附加操作 5.1 旋转 TIP: 旋转操作主要是对本次渲染的图层进行旋转,旋转的中心为左上角顶点 - (void)dra ...

  2. [Linux 性能检测工具]PIDSTAT

    PIDSTAT NAME pidstat对linux任务的统计 语法 pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] ...

  3. MySQL误操作后如何快速恢复数据

    基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了 ...

  4. python中的ValueError

    在初学时候,会遇到这种错误,修改了代码,一一比对了代码,发现代码,没有错误,可是就是运行不了. 我们先从错误的语句来入手!(这显示了英语很重要)   ValueError: need more tha ...

  5. 虚拟机Linux----Ubuntu1404----root登录设置

    说明:在安装玩1404这个版本的ubuntu后,默认也是看不到root登录的,也需要修改配置文件,但是修改的文件和1204不太一样. 1.shell窗口,普通用户首先登录,切换到root用户下: su ...

  6. 学习《Hardware-Efficient Bilateral Filtering for Stereo Matching》一文笔记。

    个人收藏了很多香港大学.香港科技大学以及香港中文大学里专门搞图像研究一些博士的个人网站,一般会不定期的浏览他们的作品,最近在看杨庆雄的网点时,发现他又写了一篇双边滤波的文章,并且配有源代码,于是下载下 ...

  7. SNMP与MIB

    简单网络管理协议(SNMP:Simple Network Management Protocol)是一套网络管理协议,注意,SNMP是一个强大的网络管理协议,而不是"简单"的.利用 ...

  8. "高大上" 名词整理

    大家在和朋友,同行交流时有没有经常遇到各种 "高大上" 的术语,很多词有没有把各位 “鸟哥” 们搞得一头雾水,现在我就把这些 "牛逼" 的东东都罗列一下, 大家 ...

  9. Linux计划任务.md

    crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程 ...

  10. 进击的Python【第二十一章】

    s14day21 上节内容回顾: 1.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? Form表单提交: 提交 -> url > 函数或类中的方法 ...