搜索
首页Javajava教程Java Map集合使用实例分析

Map接口

          Map接口是双列集合,它的每一个元素都包含一个键对象key和值对象Value,键和值对象之间存在一种对应关系,称为映射,从Map集合中访问元素时,只要指定了Key,就能找到对应的Value。

Map的常用方法

 void put(Object key,Object value)//将指定的值与映射中的指定键关联
     Object get(Object key)//返回指定键所映射的值,如果此映射不包含该键的映射关系,则返回null
     boolean containsKey(Object key)//如果此映射包含指定键的映射关系,则返回true
     boolean containsValue(Object value)//如果此时映射将一个或多个键映射到指定值,则返回true
     Set keySet()//返回此映射中包含的值的Set视图
     Collectiond94943c0b4933ad8cac500132f64757fvalues()//返回此映射中包含的值的Collection视图
     Set44bf986331d5d9c3931140ad55669b0c>entrySet()//返回此映射中包含的映射关系的Set视图

HashMap集合

             HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,但必须保证不出现重复的键。

 package 集合类;
 import java.util.HashMap;
 import java.util.Map;
 public class Long {
     public static void main(String[] args) {
         Map map=new HashMap();
         map.put("1","lilong");
         map.put("2","xiaolong");
         map.put("3","dalong");
         System.out.println("1:"+map.get("1"));
         System.out.println("2:"+map.get("2"));
         System.out.println("3:"+map.get("3"));
     }
 }

运行结果

Java Map集合使用实例分析

       首先通过Map的put方法向集合中加入3个元素,然后通过Map的get方法获取与键对应的值,如果存储了相同的键,后存储的值会覆盖原有的值,也就是键相同,值覆盖。

先遍历Map集合中所有的键,再根据键获取相应的值(如下)

 package 集合类;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 public class Li {
     public static void main(String[] args) {
         Map map=new HashMap();
         map.put("1","lilong");
         map.put("2","xiaolong");
         map.put("3","dalong");
         Set keySet= (Set) map.keySet();
         Iterator it= keySet.iterator;
         while(it.hasNext()){
             Object key=it.next();
             Object value=map.get( key);
             System.out.println(key+":"+value);
         }
     }
 }

运行结果

Java Map集合使用实例分析

       先通过hasnext()方法遍历Map,调用Map对象的keySet()方法,获得存储Map中所有键的Set集合,然后通过Iterator迭代Set集合的每一个元素,每一个键都通过get方法获取对应的值。

Map集合可以先获取集合中所有的映射关系,然后从映射关系中取出值和键。

 package 集合类;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 public class Xiao {
     public static void main(String[] args) {
         Map map=new HashMap();
         map.put("1","lilong");
         map.put("2","xiaolong");
         map.put("3","dalong");
         Set entrySet= (Set) map.entrySet();
         Iterator it= entrySet.iterator;
         while(it.hasNext()){
             Map.Entry entry=(Map.Entry) (it.next());
             Object key=entry.getKey();
             Object value=entry.getValue();
             System.out.println(key+":"+value);
         }
     }
 }

运行结果

Java Map集合使用实例分析

      首先调用Map对象的entrySet()方法获得存储在Map中所有映射的Set集合,这个集合中存放了Map.Entry类型的元素,每一个Map.Entry对象代表Map中的一个键值对,然后迭代Set集合,获得每一个映射对象,并分别调用映射对象的getKey()方法和getValue()方法获取键和值。

Map集合还提供了一个values()方法,通过这个方法可以直接获取Map中存储所有值的Collection集合。

 package 集合类;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 public class LiXiao {
     public static void main(String[] args) {
         Map map=new HashMap();
         map.put("1","lilong");
         map.put("2","xiaolong");
         map.put("3","dalong");
         Collection values=map.values();
         Iterator it=values.iterator();
         while(it.hasnext()){
             Object value=it.next();
             System.out.println(value):
         }
     }
 }

运行结果

Java Map集合使用实例分析

通过调用Map的value()方法获取包含Map中所有值的Collection集合,然后迭代出集合中的每一个值。

            HashMap集合迭代出来元素的顺序和存入的顺序是不一致的,要想使两个顺序一致,可以使用Java中提供的LinkdedHashMap类,它可以使用双向链表来维护内部元素的关系,使Map元素迭代的顺序与存入的顺序一致。

 import java.util.Map;
 public class Long {
     public static void main(String[] args) {
         Map map=new LinkedHashMap();
         map.put("1","lilong");
         map.put("2","xiaolong");
         map.put("3","dalong");
         Set keySet= (Set) map.keySet();
         Iterator it= keySet.iterator;
         while(it.hasNext()){
             Object key=it.next();
             Object value=map.get( key);
             System.out.println(key+":"+value);
         }
     }
 }

运行结果

Java Map集合使用实例分析

Properties集合

Properties主要来存储字符串类型的键和值,可以使用Properties集合来存取应用的配置项。

 package 集合类;
 import java.util.Enumeration;
 import java.util.Properties;
 public class Xiao {
     public static void main(String[] args) {
         Properties p=new Properties();
         p.setProperty("Backgroup-color","red");
         p.setProperty("Font-size","14px");
         p.setProperty("Language","chinese");
         Enumeration names=p.propertyNames();
         while(names.hasMoreElements()){
             String key=(String) names.nextElement();
             String value=p.getProperty(key);
             System.out.println(key+"="+value);
         }
     }
 }

运行结果

            在Properties类中,针对字符串的存取提供了两个专用的方法,setProperty()和getProperty()。setProperty()方法用于将配置项的值和键添加到Properties集合当中。然后通过调用Properties的propertyNames()方法得到一个包含所有键的Enumeration对象,然后在遍历所有的键时,通过调用getProperty()方法得到键所对应的值。

Java Map集合使用实例分析 

以上是Java Map集合使用实例分析的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具