java第八章:集合容器之Map接口

本文详细介绍了 Java 中 Map 接口及其主要实现类 HashMap、HashTable、TreeMap 和 LinkedHashMap 的特点与区别,并提供了 Map 的遍历方法以及如何使用 Collections 工具类进行集合操作。

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

                                     Map(接口)

               实现类:HashMap      HashTable       TreeMap

              子类:LinkedHashMap

Map:采用键值对(key,value)的方式,存储数据;——>类似于Set接口;

添加元素的方法:push()--添加元素到Map集合中;get(Object key)--通过键值,获取value值;

size();remove();clear();containsKey();containsValue();

 

HashMap:key(无序,唯一),如果键值有重复,后面的将覆盖前面的——>相当于HashSet集合,

非线性安全,允许键值为null

      value(无序,不唯一)——>相当于Collection集合;

Hashtable和HashMap类似,基于多线程的线性安全;键值对不能为null,否则出现NullPointerException;

LinkedHashMap:HashMap的子类,哈希表加链表存储结构,有序(添加顺序);

TreeMap:采用二叉树存储数据,有序(大小顺序),速度没有hash快;类似于TreeSet,默认以键的自然顺序挂元素;如果需要按元素的特定的要求排序,需要实现和TreeSet相同的方法;

 

Map的遍历方式,有三种:

1.map.keySet()先拿到key值,返回值是key的Set集合然后遍历,拿到value值

2.map.entrySet()先拿到键值对,返回值时候Set<Entry<?,?>>键值对Set集合,然后对Entry键值对集合遍历,通过Map.Entry接口中的getKey()和getValue()方法,拿到map中的键和值;

3.将map.entrySet().iterator()转为迭代器,返回值是Iterator<Entry<?,?>> iterator,用for循环遍历,创建迭代器是初始化,iterator.hasNext()是循环条件,然后从iterator.next()拿到Entry<?,?> entry键值对的集合,然后再使用getKey()和getValue()方法,拿到键和值;

 

java.util包下的Collections工具类:提供了一波静态方法,来处理Collection集合,以方便操纵集合;

reverse()--反转;

使用sort(List list )排序list集合时,没有默认,必须实现Comparable接口和 前提是自然升序排好或 sort(List list ,Compartor c),传一个自定义的比较器来排序;

 

转载于:https://www.cnblogs.com/SXTzhaopengda/p/7010947.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值