java hashmap 的api_常用Java API:HashMap 和 TreeMap

本文详细介绍了HashMap和TreeMap两种Java集合框架中的Map接口实现。HashMap基于哈希表,无序且高效,而TreeMap基于红黑树,保证有序性并支持排序操作。两者提供了相似的方法如put、get、remove等,遍历方式包括通过keySet、values或键值对的集合。在实际应用中,选择HashMap还是TreeMap取决于对数据排序和性能的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

本文主要介绍Map接口下的HashMap和TreeMap。

HashMap

HashMap是基于哈希表的 Map 接口的实现,是无序的

clear()//清空。

containsKey(Object key)//如果包含指定键,返回true

containsValue(Object value)//如果包含指定值, 返回true

get(Object key)//返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。

isEmpty()//如果此映射不包含键-值映射关系,则返回 true

put(K key, V value)//在此映射中关联指定值与指定键。

remove(Object key)//从此映射中移除指定键的映射关系(如果存在)。

size()返回此映射中的键-值映射关系数。

实例

HashMap m = new HashMap<>();//定义格式

m.put(100,1);

System.out.print(m.get(100)); // 1

TreeMap

TreeMap是基于红黑树实现的,是有序的, 可进行排序。

此实现为 containsKey、get、put 和 remove 操作提供受保证的 log(n) 时间开销

clear()//清空

containsKey(Object key)//如果包含指定键,返回true

containsValue(Object value)//如果包含指定值, 返回true

get(Object key)//返回指定键的值, 如果不存在返回null

firstKey()//返回此映射中当前第一个(最低)键。

lastKey()返回映射中当前最后一个(最高)键

ceilingKey(K key)返回大于等于给定键的最小键;如果不存在这样的键,则返回 null。

floorKey(K key)返回小于等于给定键的最大键;如果不存在这样的键,则返回 null。

HashMap和TreeMap的遍历方式

HashMap和TreeMap可以根据迭代器遍历,但,它俩不能直接遍历,可以遍历 键的集合, 值的集合, 键值对的集合。

1.通过keySet()获得键,然后根据键遍历值

使用while + Iterator

TreeMap m = new TreeMap<>();

m.put(1,"A");

m.put(2,"B");

Set s = m.keySet();

Iterator it = s.iterator();

Integer key = null; // 这里必须必须声明为类。

while(it.hasNext()){

key = (Integer)it.next();

String value = m.get(key);

System.out.print(value);

}

使用增强for

TreeMap m = new TreeMap<>();

m.put(1,"A");

m.put(2,"B");

for(int k : m.keySet()){

System.out.print(m.get(k));

}

2.直接通过values()遍历值

使用while 和 Iterator

TreeMap m = new TreeMap<>();

m.put(1,"A");

m.put(2,"B");

Collection s = m.values();

Iterator it = s.iterator();

String value = null; // 这里必须必须声明为类。

while(it.hasNext()){

value = (String)it.next();

System.out.print(value);

}

使用增强for

TreeMap m = new TreeMap<>();

m.put(1,"A");

m.put(2,"B");

for(String value : m.values()){

System.out.print(value);

}

增强for还是十分方便滴

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值