java 孙鑫 第六课(第四部分)HashMap和TreeMap类介绍

 

HashMap类:第六课F 11700

 

 

·HashMapkey进行散列 允许空值和空键(HashSet底层就是HashMap来实现的)

·keySet()  values()  entrySet()

HashMap对象中添加元素使用put(“键值”,“元素值”)方法,get(“键值”)方法获取的是对应键值的元素值。注意这两个方法参数需要加双引号的哦。

      如果你想单一获得键值,可使用keySet()方法返回的Set对象来取得,如果你想单一获得元素值,可使用values()返回的Collection对象取得。如果你既想获取键值又想获得相应键值的元素,就需要使用entrySet()方法了,该方法也返回Set类型,然后打印该返回对象即可,也可以对返回的对象再使用接口 Map.Entry中的getKey()getValue()方法也能获得键和值。下面举例分别实现:

import java.util.*;

public class HashMapTest

{

      //首先定义一个通用的迭代器打印方法以供下面方便打印输出

      public static void printElements( Collection c)

      {

           Iterator it = c.iterator();

           while(it.hasNext())

           {

                 System.out.println(it.next());

           }

      }

      public static void main(String[] args)

      {

           HashMap ha = new HashMap();

          

           //向其中添加键和值

           ha.put("one","zhangshan");

           ha.put("two","lisi");

           ha.put("three","wangwu");

           ha.put("four","xieliu");

          

           //获取给出的键所对应的值

           System.out.println(ha.get("two"));

           System.out.println(ha.get("three"));

          

           //单一获取键值

           Set se =ha.keySet();

           printElements(se);

          

           //获取单一元素值

           Collection co = ha.values();

           printElements(co);

          

           //获取键和值

           Set entry = ha.entrySet();

           System.out.println("获取键和值");

           printElements(entry);

          

           //如果我们拥有了entrySet()方法返回的拥有键和值的Set对象,但是我们又只想获取其中的键或值怎么办呢??

           Iterator it = entry.iterator();

           while(it.hasNext())

           {

                 Map.Entry en = (Map.Entry)it.next();

                 System.out.println(en.getKey()+"~~"+en.getValue());

           }

      }

}

TreeMap 第六课G 5920

TreeMap是按照key进行排序的。用法跟HashMap基本一致。

HashMapTreeMap区别:

HashMap性能优于TreeMap。通常使用HashMap,在我们需要对其中元素排序的时候才使用TreeMap

Java1.0 1.1中的集合类:

Vector   HashTable 分别被ArrayListHashMap代替了。因为前两个方法是同步的,一般不常用,但有时在多线程中可能用到他们,而不使用后2者中的同步方法,因为前者的效率高。

第六课 h   中有property类关于读取配置文件的使用介绍

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值