java中HashMap类用法

 

/*
HashSet底层是采用HasMap实现的  HasMap保存的是  键值对
就跟 C++中 <map>容器类似
keySet() 返回键的视图  values() 返回值的视图

entrySet()  返回的每一个元素都是Map.Entry     Map中一个静态的接口接收键值对 
*/
import java.util.* ;
class  Test
{ private static HashMap<String,String> hm=new HashMap<String,String>() ;  //JDK1.5后引入范式概念
 public static void main(String []args)
 {
  hm.put("one","xiaoming") ;// 向其中添加键值对 因为没有实现Collection接口所以没有add方法
  hm.put("two","xiaozhang") ;
  hm.put("three","xiaoli") ;
  hm.put("four","xiaoliu") ;
  System.out.println(hm.get("one"));
  System.out.println(hm.get("two"));
    System.out.println(hm.get("three"));
    System.out.println(hm.get("four"));  
 
   
    Set s=hm.keySet() ;//返回键的视图 
    printElements(s);  //输出键列表
 
 
 
   
    Collection c=hm.values();
    printElements(c); //迭代器的好处是可以输出多种类型的数据    输出值列表
 
 
   
    Set ss=hm.entrySet() ;//返回Map.Entry 接口实现
    printElements(ss);   //输出键值对  利用迭代器 
   
  
  
  
    Iterator  i=ss.iterator() ;   //通过 Map.Entry静态接口 获取元素
    while(i.hasNext())
    {
     Map.Entry me=(Map.Entry)i.next() ;//强制转换
     System.out.println(me.getKey()+":"+me.getValue());
     
    }
   
   
   
   
  
 }
 
static public void printElements(Collection c)
 {
  Iterator i=c.iterator() ;
  while(i.hasNext())
  {
   System.out.println(i.next());
  }
  
  
 }
 
 
 
}

时间: 2024-10-22 14:36:59

java中HashMap类用法的相关文章

java中 TreeSet类用法

/* TreeSet的性能比 HashSet差但是我们  在需要排序的时候可以用TreeSet  因为他是 自然排序也就是 升序 下面是TreeSet实现代码  这个类也似只能通过迭代器迭代元素 */ import java.util.*; class Test {     private static  TreeSet<Point> ts=new TreeSet<Point>() ;  //静态变量   jdk1.5以后 引入范式    public static void ma

java之Object类用法实例_java

本文实例讲述了java中Object类用法.分享给大家供大家参考.具体如下: 1.Object类是所有java类的基类 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类,ex: public class Person{ ~~~~~ } 等价于 public class Person extends Object{ ~~~~~ } 2.Object类之equals方法 ①.Object类中定义有: public boolean equals(Object obj)方

java object用法-Java中object类的用法

问题描述 Java中object类的用法 class Student { String name; int age; public boolean equals (Object obj) { Student st = null; if(obj instanceof Student) st =(Student)obj; else return false; if(st.name==this.name&&st.age==this.age) return true; else return fa

Java中BigDecimal类的简单用法_java

本文实例讲述了Java中BigDecimal类的简单用法,是Java程序设计中非常实用的技巧,分享给大家供大家参考.具体用法分析如下: 一般来说,一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,

Java 中Map 的用法详解_java

Map简介 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如HashMap 类. 注:将可变对象用作映射键时必须格外小心.当对

java中final的用法

许多程序设计语言都有自己的办法告诉编译器某个数据是"常数".常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编译器(程序)可将常数值"封装"到需要的计算过程里.也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销.在Java中,这些形式的常数必须属于基本数据类型(Primitives),而且要用final关键字进行表达.在对这样的一个常数进行定义的时候,必须给出一个值.

Java中getResourceAsStream的用法小结

Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三种用法:1.Class.getResourceAsStream(String path)      path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从ClassPath根下获取.     其实是通过path构造一个绝对路径,最终还是由ClassLoader获取资源. 2.Class.getClassLoader.getResourceAsStrea

基于Java中Math类的常用函数总结_java

Java中比较常用的几个数学公式的总结: //取整,返回小于目标函数的最大整数,如下将会返回-2 Math.floor(-1.8): //取整,返回发育目标数的最小整数 Math.ceil() //四舍五入取整 Math.round() //计算平方根 Math.sqrt() //计算立方根 Math.cbrt() //返回欧拉数e的n次幂 Math.exp(3); //计算乘方,下面是计算3的2次方 Math.pow(3,2); //计算自然对数 Math.log(); //计算绝对值 Mat

详解Java中final的用法_java

概念 final 具有"不可改变的"的含义,可以修饰 非抽象类.非抽象成员方法和变量. 用 final 修饰的类不能被继承,没有子类. 用 final 修饰的方法不能被子类的方法覆盖(重写). 用 final 修饰的变量表示常量,只能被赋一次值(声明变量的时候). 注: final 不能用来修饰构造方法,因为"方法覆盖"这一概念仅适用于类的成员方法,而不适用于类的构造方法,父类的构造方法和子类的构造方法之间不存在覆盖的关系,因此用final修饰构造方法没有任何意义.