重点:在使用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. JS 与OC 交互篇

    完美记录交互 CSDN博客: (OC调用JS) http://blog.csdn.net/lwjok2007/article/details/47058101 (JS调用OC) http://blog ...

  2. eclipse调试(debug)的时候,出现Source not found,Edit Source Lookup Path,一闪而过

    问题描述 使用Eclipse调试代码的时候,打了断点,经常出现Source not found,网上找了半天,大部分提示点击Edit Source Lookup Path,添加被调试的工程,然而往往没 ...

  3. 突然想到一个问题:有关 cqrs 分离

    大部分的系统,都是查询多,c少,那为什么我们不把q放在内存里面,而c直接操作数据库呢? 就如enode,c在内存,而q在数据库,当然q也很容易扩展到内存缓存上.二个enode案例demo,都可以让c的 ...

  4. PHP相关笔记

    扩展包(相关链接):https://packagist.org/: 插件postman主要应用于web开发时get.post请求时查看其响应:

  5. ASP.NET MVC Filters 4种默认过滤器的使用【附示例】

    过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响应内容,只响应特定内容给那些有特定权限的用户,过滤器理论上有以下功能: 判断 ...

  6. mdadm设定RAID磁盘阵列,且当分区故障后如何重建

    首先,fdisk建立不同分区,且设为fd格式 其次, mdadm -C md0 -a yes -l -n /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sd ...

  7. [iOS]ReactiveCocoa安装方法

    1. 替换Ruby镜像 我们想要使用CocoaPods来安装ReactiveCocoa.由于OS X上的Ruby镜像被墙了,感谢淘宝为我们提供了国内访问镜像. $ gem sources --remo ...

  8. freeswitch 使用mysql替换默认的sqlite

    转自 80000hz.com freeswitch 使用mysql替换默认的sqlite No Reply , Posted in 默认分类 on January 14, 2014 目标使用mysql ...

  9. [LeetCode] Design Tic-Tac-Toe 设计井字棋游戏

    Design a Tic-tac-toe game that is played between two players on a n x n grid. You may assume the fol ...

  10. [LeetCode] Coin Change 硬币找零

    You are given coins of different denominations and a total amount of money amount. Write a function ...