Java-算法与数据结构刷题笔记-P2:HashMap与TreeMap

这篇博客主要介绍了Java中HashMap和TreeMap的数据结构和常见操作。对于HashMap,展示了如何按值传递和删除元素,并演示了containsKey和get方法的使用。而对于TreeMap,除了基本的添加、查找和删除操作,还特别提到了按照键获取最小和最大值,以及找到指定键附近的键的方法。
摘要由CSDN通过智能技术生成

1.HashMap

1.按照值传递

package com.jq.LeetCode;

import java.util.HashMap;

public class Code2_HashMap {
    public static void main(String[] args) {
        //(K V)表
        HashMap<String, String> map = new HashMap<>();

        map.put("小米","颗粒大小为20cm"); //map里面添加数据  即是查询操作也是更新操作
        System.out.println(map.containsKey("小米")); //是否包含 key="小米"
        System.out.println(map.get("小米")); //获取 key="小米" 对应的value值

        map.remove("小米"); //删除操作
        System.out.println(map.containsKey("小米")); //是否包含 key="小米"
        System.out.println(map.get("小米")); //获取 key="小米" 对应的value值

        
    }
}

1.2按照引用传递

非原生,自定义的结构

2.TreeMap

package com.jq.LeetCode;

import java.util.TreeMap;

public class Code3_TreeMap {
    public static void main(String[] args) {
        TreeMap<Integer,String> treeMap1 =new TreeMap<>();

        //添加数据
        treeMap1.put(3,"我是数字3");
        treeMap1.put(5,"我是数字5");
        treeMap1.put(6,"我是数字6");
        treeMap1.put(0,"我是数字0");
        treeMap1.put(1,"我是数字1");

        //根据键值判断是否存在
        System.out.println(treeMap1.containsKey(3));
        System.out.println(treeMap1.containsKey(5));
        System.out.println(treeMap1.containsKey(2));

        //查询更新操作
        treeMap1.put(3,"他是3");

        //根据键 获取对应的value值
        System.out.println(treeMap1.get(3));

        //删除操作
        treeMap1.remove(3);
        System.out.println(treeMap1.get(3));

        // 获取 HashMap中 最小的key
        System.out.println(treeMap1.firstKey());
        // 获取 HashMap中 最大的key
        System.out.println(treeMap1.lastKey());

        // <=5 离5最近的key告诉我
        System.out.println(treeMap1.floorKey(5));

        // >=5 离5最近的key告诉我
        System.out.println(treeMap1.ceilingKey(5));
        
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值