java中的Map接口 2022-04-06 17:40 114阅读 0赞 # java中的Map接口 # 实现Map接口的类用来存储——键值对 Map接口的实现类有HashMap和TreeMap等 键值不能重复(键相当与索引) TestMap.java import java.util.*; //Map方法举例 public class TestMap { public static void main(String[] args) { Map m1 = new HashMap(); //put("K","V"),键——值 m1.put("one",new Integer(1)); m1.put("two",new Integer(2)); m1.put("three",new Integer(3)); Map m2 = new TreeMap(); m2.put("A",new Integer(1)); m2.put("B",new Integer(2)); //size()大小 System.out.println(m1.size());//3 //containsKey,包含Key System.out.println(m1.containsKey("one"));//true //containsValue,包含Value System.out.println(m2.containsValue(new Integer(1)));//true if(m1.containsKey("two")){ //get(),通过K找到对象,对象在调用intValue(),得到int值 int i = ((Integer)m1.get("two")).intValue(); System.out.println(i);//2 } //将m1 copy到 m3,再将m2放入m3 Map m3 = new HashMap(m1); m3.putAll(m2); System.out.println(m3);//{A=1, B=2, two=2, three=3, one=1},没有顺序 } } F:\java>javac TestMap.java 注: TestMap.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 F:\java>java TestMap 3 true true 2 {A=1, B=2, two=2, three=3, one=1} F:\java> Auto-boxing/unboxing 自动打包/解包 TestM.java import java.util.*; public class TestM { public static void main(String args[]) { //自动打包/解包 Map m1 = new HashMap(); Map m2 = new TreeMap(); //m1.put("one",new Integer(1)); //put("one", 1)中的“1”不是int型的值,而是自动打包为“对象” m1.put("one", 1); //m1.put("two",new Integer(2)); m1.put("two", 2); //m1.put("three",new Integer(3)); m1.put("three", 3); //m2.put("A",new Integer(1)); m2.put("A", 1); //m2.put("B",new Integer(2)); m2.put("B", 2); System.out.println(m1.size()); System.out.println(m1.containsKey("one")); System.out.println //(m2.containsValue(new Integer(1))); (m2.containsValue(1)); if(m1.containsKey("two")) { //int i = ((Integer)m1.get("two")).intValue(); //自动解包,(Integer)m1.get("two") int i = (Integer)m1.get("two"); System.out.println(i); } Map m3 = new HashMap(m1); m3.putAll(m2); System.out.println(m3); } } F:\java>javac TestM.java 注: TestM.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 F:\java>java TestM 3 true true 2 {A=1, B=2, two=2, three=3, one=1} F:\java> 计算args数组中元素重复的个数 TestArgsWords.java import java.util.*; /* 计算args数组中元素重复的个数 */ public class TestArgsWords { private static final Integer ONE = new Integer(1); public static void main(String args[]) { Map m = new HashMap(); for (int i = 0; i < args.length; i++) { //拿到args的值,不存在时freq = null Integer freq = (Integer) m.get(args[i]); //将args的值放入map中,(K,V) m.put(args[i],(freq == null? ONE : new Integer(freq.intValue() + 1))); } //打印m的大小 System.out.println(m.size() + " distinct words detected:"); //打印m的内容 System.out.println(m); } } F:\java>javac TestArgsWords.java 注: TestArgsWords.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 F:\java>java TestArgsWords 0 distinct words detected: {} F:\java>java TestArgsWords aa aab aa aa sss aa db aa 4 distinct words detected: {aa=5, sss=1, aab=1, db=1} F:\java> 用自动打包解包,改写上面的方法 TestArgsWords.java import java.util.*; /* 计算args数组中元素重复的个数 改写为自动打包解包的形式 */ public class TestArgsWords { //private static final Integer ONE = new Integer(1); private static final int ONE = 1; public static void main(String args[]) { Map m = new HashMap(); for (int i = 0; i < args.length; i++) { //拿到args的值,不存在时freq = null //Integer freq = (Integer) m.get(args[i]); //如果m.get()中的值为空,赋值为0 int freq = (Integer) m.get(args[i]) == null ? 0 : (Integer) m.get(args[i]); //将args的值放入map中,(K,V) //m.put(args[i],(freq == null? ONE : new Integer(freq.intValue() + 1))); m.put(args[i], freq==0 ? ONE : freq + 1); } //打印m的大小 System.out.println(m.size() + " distinct words detected:"); //打印m的内容 System.out.println(m); } } F:\java>javac TestArgsWords.java 注: TestArgsWords.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 F:\java>java TestArgsWords aa aab aa aa sss aa db aa 4 distinct words detected: {aa=5, sss=1, aab=1, db=1} F:\java> 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 Java中的Map【一】Map接口 一 JDK中的Map继承实现关系 不经意间看了Java中LinkedHashMap和LinkedHashSet的源码实现,觉得一些地方还是挺有意思的。之前 谁借莪1个温暖的怀抱¢/ 2021年09月21日 07:04/ 0 赞/ 216 阅读
相关 Java中的Map【二】SortedMap接口 所使用的jdk版本为1.8版本,先看一下SortedMap在JDK中Map的UML类图中的位置: ![watermark_type_ZmFuZ3poZW5na 野性酷女/ 2021年09月21日 07:06/ 0 赞/ 198 阅读
相关 Java中的Map【三】NavigableMap接口 所使用的jdk版本为1.8版本,先看一下NavigableMap<K,V>在JDK中Map的UML类图中的位置: ![watermark_type_ZmFuZ3 一时失言乱红尘/ 2021年09月21日 07:14/ 0 赞/ 252 阅读
相关 Java中的Map【四】ConcurrentMap接口 所使用的jdk版本为1.8版本,先看一下ConcurrentMap<K,V>在JDK中Map的UML类图中的位置: ![watermark_type_ZmFuZ3poZW5n 港控/mmm°/ 2021年09月21日 07:20/ 0 赞/ 244 阅读
相关 Java中的Map【五】ConcurrentNavigableMap接口 所使用的jdk版本为1.8版本,先看一下ConcurrentNavigableMap<K,V>在JDK中Map的UML类图中的位置: ![watermark_ 刺骨的言语ヽ痛彻心扉/ 2021年09月21日 07:24/ 0 赞/ 226 阅读
相关 Java-map接口 package java.util;//在util包下 public interface Map<K,V> {//K:key,v:value //1 约定不等于承诺〃/ 2021年09月28日 09:22/ 0 赞/ 282 阅读
相关 java-Map接口 Map接口的概述和使用 -概述:public interface Map<K,V> -特点:\将键映射到值的对象 \一个映射不能包含重复的键 深藏阁楼爱情的钟/ 2022年01月28日 22:53/ 0 赞/ 159 阅读
相关 java中的Map接口 java中的Map接口 实现Map接口的类用来存储——键值对 Map接口的实现类有HashMap和TreeMap等 键值不能重复(键相当与索引) TestMap. 水深无声/ 2022年04月06日 17:40/ 0 赞/ 115 阅读
相关 java map接口 Map接口概述 1. 实现Map接口的集合类用来存储“键-值”映射对。key-value 2. Map实现类中存储的“键-值”映射对是通过键来唯一标识,Map底层的“键 ╰+攻爆jí腚メ/ 2022年06月10日 09:54/ 0 赞/ 69 阅读
相关 java的Map接口 [java的Set接口][java_Set] 文章目录 java的Map接口 Map的创建 Map的常用方法 矫情吗;*/ 2022年10月19日 12:19/ 0 赞/ 47 阅读
还没有评论,来说两句吧...