IT辅导娱乐网| 蜘蛛地图| 所有文章|
Java Map 简介及其使用 - IT辅导
  • 首页
  • IT技术 IT辅导资源网设计图
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享 IT辅导资源网设计图
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧 IT辅导资源网设计图
    • seo教程
  • 编程教程
  • 值得看一看 IT辅导资源网设计图
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能 IT辅导资源网设计图
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿


登录后,享受更多优质服务哦
IT辅导资源网站长qq头像
欢迎回来,可爱的会员!个人中心退出登录
导航菜单
  • 首页
  • IT技术
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧
    • seo教程
  • 编程教程
  • 值得看一看
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿

Java Map 简介及其使用

2020/9/10 五年级扛把子 

1.Map集合概述和特点

概述:
将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值。
Map接口和Collection接口的不同
Map是双列的,Collection是单列的
Map的键唯一,Collection的子体系Set是唯一的
Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构是针对元素有效。

2.Map集合的功能概述

(1):添加
V put(K key,V value):添加元素。这个其实还有另一个功能?替换
如果键是第一次存储,就直接存储元素,返回null
如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
(2)  :删除
void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回
(3)  :判断
boolean containsKey(Object key):判断集合是否包含指定的键
boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
(4)  :获取
Set<Map.Entry<K,V>> entrySet(): 返回一个键值对的Set集合
V get(Object key):根据键获取值
Set keySet():获取集合中所有键的集合
Collection values():获取集合中所有值的集合
(5)  :长度
int size():返回集合中的键值对的对数

3.Map集合的遍历之键找值

获取所有键的集合,遍历键的集合,获取到每一个键根据键找值  

示例代码如下:

public class Test4 {
public static void main(String[] args) {
HashMap<Phone,String> map = new HashMap<>();
map.put(new Phone("Apple",7000),"美国");
map.put(new Phone("Sony",5000),"日本");
map.put(new Phone("Huawei",6000),"中国");
Set<Phone> phones = map.keySet();
Iterator<Phone> iterator = phones.iterator();
while (iterator.hasNext()){
Phone next = iterator.next();
System.out.println(next.getBrand()+"=="+next.getPrice()+"=="+map.get(next));
}

}
}
class Phone{
private String Brand;
private int Price;

public Phone(String brand, int price) {
Brand = brand;
Price = price;
}

public String getBrand() {
return Brand;
}

public void setBrand(String brand) {
Brand = brand;
}

public int getPrice() {
return Price;
}

public void setPrice(int price) {
Price = price;
}
}

获取所有键值对对象的集合,遍历键值对对象的集合,获取到每一个键值对对象,根据键值对对象找键和值  

示例代码如下:

public class Test4 {
public static void main(String[] args) {
HashMap<Phone,String> map = new HashMap<>();
map.put(new Phone("Apple",7000),"美国");
map.put(new Phone("Sony",5000),"日本");
map.put(new Phone("Huawei",6000),"中国");
Set<Map.Entry<Phone, String>> entries = map.entrySet();
for (Map.Entry<Phone, String> entry : entries) {
System.out.println(entry.getKey().getBrand()+"==="+entry.getKey().getPrice()+"==="+entry.getValue());
}
}
}

4.LinkedHashMap的概述和使用

LinkedHashMap的概述: Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。LinkedHashMap的特点: 底层的数据结构是链表和哈希表 元素有序 并且唯一。
元素的有序性由链表数据结构保证 唯一性由 哈希表数据结构保证。
Map集合的数据结构只和键有关  

5.TreeMap集合

TreeMap 键不允许插入null
TreeMap: 键的数据结构是红黑树,可保证键的排序和唯一性
排序分为自然排序和比较器排序
线程是不安全的效率比较高
6.TreeMap集合排序:
实现Comparable接口,重写CompareTo方法
使用比较器  

7.TreeMap集合的遍历

示例代码如下:

public class Test4 {
public static void main(String[] args) {
TreeMap<Phone,String> map = new TreeMap<>();
map.put(new Phone("Apple",7000),"美国");
map.put(new Phone("Sony",5000),"日本");
map.put(new Phone("Huawei",6000),"中国");
Set<Phone> phones = map.keySet();
Iterator<Phone> iterator = phones.iterator();
while(iterator.hasNext()){
Phone next = iterator.next();
System.out.println(next.getBrand()+"==="+next.getPrice()+"==="+map.get(next));
}
}
}
class Phone implements Comparable<Phone>{
private String Brand;
private int Price;

public Phone(String brand, int price) {
Brand = brand;
Price = price;
}

public String getBrand() {
return Brand;
}

public void setBrand(String brand) {
Brand = brand;
}

public int getPrice() {
return Price;
}

public void setPrice(int price) {
Price = price;
}

@Override
public int compareTo(Phone o) {
return this.getPrice() - o.getPrice();
}
}

8.Collections工具类的概述和常见方法

(1):Collections类概述: 针对集合操作 的工具类
(2):Collections成员方法
public static void sort(List list): 排序,默认按照自然顺序
public static int binarySearch(List<?> list,T key): 二分查找
public static T max(Collection<?> coll): 获取最大值
public static void reverse(List<?> list): 反转
public static void shuffle(List<?> list): 随机置换

Map中的键唯一,但是当存储自定义对象时,需要重写Hashcode和equals方法  



 点赞:0  打赏  分享  海报

  • 打赏支付宝扫一扫
  • 打赏微信扫一扫
  • 打赏企鹅扫一扫
结束语
温馨提醒:如有技术问题以及资源失效请联系站长 QQ89549822 进行反馈!!!
 您阅读本文耗时: 0小时02分35秒
热度:316° 发布时间:2020年9月10日

推荐:

标题:Java Map 简介及其使用

链接: https://www.itfd.cn/post-1289.html

版权:转载请注明来源于【IT辅导娱乐网】为原创

上一篇: 电脑如何远程连接windos服务器?

下一篇: JavaScript Date 对象简介

作者头像 作者名称 作者性别
五年级扛把子
联系作者 作者主页

热门推荐

1 Java生成随机数
2 字节流与字符流的区别?
3 十年一遇!2020天文奇观日食
4 Maven如何配置远程仓库
5 关于的电脑的小知识你知道哪些it辅导
6 CCTV之91大神等人落网记

评论列表

取消回复

  • 存档

    • 2020年9月(191)
    • 2020年8月(92)
    • 2020年7月(5)
    • 2020年6月(224)
    • 2020年5月(392)
    • 2020年4月(267)
    • 2020年3月(76)
    • 2019年3月(1)
    • 1970年1月(29)
  • 搜索

  • 热门文章

    • 神佑之路手游源码-附视频教程
    • 最新可用老王VPN2.22.15谷歌市场版,免费使用
    • 私藏的十个网站,不看后悔系列
    • 虚拟商品自动发货商城源码
    • 不吃苦、不奋斗,你要青春做什么?
  • 随机文章

      • Linux如何安装PHP
        • 怎么禁止电脑自动安装软件it辅导
          • nexus搭建maven介绍
            • 一巧不通的人如何撑握基本的电脑基础知识it辅导
              • 如何配置maven私服
    提示信息

    SQL语句执行错误: SELECT COUNT(*) AS total FROM emlog_twitter
    Table 'itfd.emlog_twitter' doesn't exist

    «点击返回