Java:HashMap和TreeMap的常用方法及使用 您所在的位置:网站首页 integer的常用方法 Java:HashMap和TreeMap的常用方法及使用

Java:HashMap和TreeMap的常用方法及使用

2024-06-18 16:44| 来源: 网络整理| 查看: 265

首先我们来了解一下Map接口

(1)Map

Map包含了一系列“键(key)-值(values)”之间的映射关系,一个Map对象可以看作是一个“键-值”对的集合,在该集合中可以通过一个键找到其对应的值。

该接口是独立于Collection接口体系的,Map体系中所有类和接口的方法都源自于Map接口。

我们使用到的实现Map接口的类主要为HashMap类和TreeMap类。

(2)HashMap

HashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。

由于采用了Hash函数,对于Map的普通操作性能是稳定的,但如果使用iterator访问Map,为了获得高的运行效率最好在创建HashMap时不要将它的容量设得太大。

 创建HashMap public static void main(String[] args) { // 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型 Map hashMap = new HashMap(); } HashMap集合的常用方法

put(key,value);  //往集合中添加元素,key 值不可重复,重复时会覆盖之前的 value 值

get(Object key);  //返回指定键的值(value),若不存在则返回null

remove(Object key);  //根据 key 或者 key-value 去除集合中元素,并分别返回 value 值和 Boolean 值

boolean containsKey(Object  key);  //如果此映射包含指定键的映射,则返回true 。

boolean containsValue(Object value);  //如果此映射将一个或多个键映射到指定的值,则返回true 。

int size();  //返回集合长度

boolean isEmpty();  //判断集合是否为空

void clear();  //清除集合中的所有元素

values();  //返回一个新集合,获取集合中所有元素的 values

keySet();  //返回一个新集合,获取集合中所有元素的 key

常用方法代码示例:

public static void main(String[] args) { // 创建 HashMap 集合,key存储字符串类型,value存储整数类型 Map hashMap = new HashMap(); // 添加元素 hashMap.put("李四",28); hashMap.put("张三",26); hashMap.put("王五",26); // 根据 key 获取 value 值 Integer zs = hashMap.get("张三"); System.out.println(zs); // 获取所有 key 值 Set strings = hashMap.keySet(); System.out.println(strings); // 获取所有 value 值 Collection values = hashMap.values(); System.out.println(values); // 根据 key 去除元素 Integer ww = hashMap.remove("王五"); System.out.println(ww); // 根据 key-value 去除元素 boolean boole = hashMap.remove("李四", 28); System.out.println(boole); System.out.print(hashMap); }

结果示例:

26[李四, 张三, 王五][28, 26, 26]26true{张三=26}

(3)TreeMap

TreeMap类和TreeSet类相似,是基于红黑树实现的,是采用一种有序树的结构实现了Map的子接口SortedMap。该类将按键的升序的次序排列元素。

创建TreeMap public static void main(String[] args) { // 创建 TreeMap 集合,key 存储字符串类型,value 存储整数类型 Map map = new TreeMap(); } TreeMap的常用方法

clear();  //清除集合中的所有元素

boolean containsKey(Object  key);  //如果此映射包含指定键的映射,则返回true 

boolean containsValue(Object value);  //如果此映射将一个或多个键映射到指定的值,则返回true 

int size();  //返回集合长度

get(Object key);  //返回指定键的值(value),若不存在则返回null

firstKey();  //返回当前映射中的第一个键

lastKey();  //返回当前映射中的最后一个键

(4)HashMap和TreeMap的遍历方法 

1.先得到key值,再使用iterator遍历集合

TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); Set t = map.getKey(); Iterator it = t.iterator(); Integer key = null; //必须先进行key值的声明 while (it.hasNext()) { key = (Integer)it.next(); String value = map.get(key); System.out.println(value); }

2.先得到key值,再使用增强for进行遍历(推荐使用增强for)

TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); for(int key:map.getKey){ System.out.println(map.get(key)); }

3.直接通过value值,使用iterator遍历

TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); Collection t = map.values(); Iterator it = t.Iterator(); String value = null; //必须声明 while(it.hasNext()){ value = (String)it.next(); System.out.println(value); }

4.直接通过value值,使用增强for遍历(推荐使用增强for)

TreeMap map = new TreeMap(); map.put(1,"xixi"); map.put(2,"jiaojiao"); for(String value:map.values()){ System.out.println(value); }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有