• 2024-09-12LinkedHashMap原理详解—从LRU缓存机制说起
    写在前面从一道Leetcode题目说起首先,来看一下Leetcode里面的一道经典题目:146.LRU缓存机制,题目描述如下:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(int
  • 2024-08-24LinkedHashMap&LinkedHashSet源码解析
    LinkedHashMap概述LinkedHashSet使用适配器模式包装了LinkedHashSet一个有序的散列表,允许key为null也允许value为空,从名字上可以看出使用链表维护了有序性在元素存储时,在原来的HashMap的数组+链表的基础上,为每个元素添加了pre和next指针,构成了一个双向链表注意:内部没有使用红
  • 2024-08-15Mybatis如何动态生成插入的列及批量插入值
    有时会遇到根据特定的情况动态创建表,并对表进行批量插入,对于Mybatis来说,也是非常简单的。先看dao层voidinsertBatch(@Param("tableName")StringtableName,@Param("dbColumns")List<String>dbColumns,@Param("dbValues")List<LinkedHashMap>dbValues);注:这里的值d
  • 2024-08-14List实现LRU
    publicclassLRUCache{intcap;LinkedHashMap<Integer,Integer>linkedHashMap=newLinkedHashMap<>();LRUCache(intcap){this.cap=cap;}publicintget(intkey){if(!linkedHashMap.containsKey(key
  • 2024-08-07如何解决hashmap不按序问题
    HashMap 在Java中本质上是不保证任何顺序的,特别是它不保证元素会按照插入的顺序进行存储或遍历。如果需要维护元素的插入顺序,可以使用 LinkedHashMap,它在内部通过维护一个双向链表来保持插入顺序。如果想要按照键的自然顺序或者自定义的比较器顺序来存储和遍历键值对,可以使
  • 2024-08-07com.alibaba.fastjson 将object装jsonObject两次字段顺序会出现不一致
    Objectentity=params.get("entity");JSONObjectjsonObject=(JSONObject)JSONObject.toJSON(entity);//遍历JSONObjectfor(Map.Entry<String,Object>entry:jsonObject.entrySet())以上代码,在同一个object,两次经过的到时候,遍历J
  • 2024-07-13LinkedHashMap
    HashMap是无序的,LinkedHashMap是可以维持插入顺序的LinkedHashMap继承了HashMap,内部追加了双向链表,来维护元素的插入顺序//LinkedHashMap.Entry继承了HashMap.NodestaticclassEntry<K,V>extendsHashMap.Node<K,V>{//并追加了连个字段before和after,用来
  • 2024-07-09javaMap笔记分享
    Map映射(map)是存储键和值间关联(即,键值对)的对象。给定一个键,可以找到其值。键和值都是对象。键必须唯一,但是值可以重复。13.1 支持映射的接口接 口描 述Map将唯一键映射到值NavigableMap扩展SortedMap接口,以处理基于最接近匹配搜索原则的键/值对检索So
  • 2024-07-01Java--Map集合
    Map映射(map)是存储键和值间关联(即,键值对)的对象。给定一个键,可以找到其值。键和值都是对象。键必须唯一,但是值可以重复。支持映射的接口接 口描 述Map将唯一键映射到值NavigableMap扩展SortedMap接口,以处理基于最接近匹配搜索原则的键/值对检索SortedMap
  • 2024-06-06题目集4-1-2总结
    前言设计与分析2.1第四次迭代设计与分析2.2第一次电路程序2.3第二次电路程序踩坑心得踩坑心得改进建议总结前言这三次程序的编写与之前的略有不同,第四次程序编写是由前三次程序迭代而来,在拥有两次编写迭代程序的经历后,第四次的程序编写并没有耗费
  • 2024-04-19LinkedHashMap排序
    importjava.util.LinkedHashMap;importjava.util.Map;importjava.util.TreeMap; publicclassSortLinkedHashMapByKey{publicstaticvoidmain(String[]args){//创建一个LinkedHashMapLinkedHashMap<Integer,String>linkedHashMap=newLinkedHashMap<
  • 2024-04-15数据结构(HashMap)
    散列表也叫哈希表,是一种通过键值对直接访问的数据结构,哈希能快速的插入、删除、查找操作HashMap的结构hashMap采用的链地址法,主要采用数据+链表(1.8后转红黑树)的数据结构。HashMap的存储数据HashMap是使用哈希表来存储数据的。哈希表为了解决冲突,一般有两种方案:开放地址法
  • 2024-04-10利用LinkedHashMap实现简单的LRU
    利用LinkedHashMap进行重写,实现LRU作为缓存字典1、代码实现importjava.util.LinkedHashMap;importjava.util.Map;/***利用LinkedHashMap进行重写,实现LRU作为缓存字典**@param<K>key*@param<V>value*@date2024-04-1009:42**/publicclassLRUCach
  • 2024-03-232099.整除的尾数
    importjava.util.LinkedHashMap;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);while(true){LinkedHashMap<String,Integer>hashMap=newL
  • 2024-01-17LinkedHashMao & LinkedHashSet源码阅读
    目录简介模型代码分析成员变量方法补充-LinkedHashSet总结参考链接本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习本文基于corretto-17.0.9源码,参考本文时
  • 2024-01-01【揭秘】如何使用LinkedHashMap来实现一个LUR缓存?
    LRU(LeastRecentlyUsed)缓存是一种常用的缓存淘汰策略,用于在有限的缓存空间中存储数据。其基本思想是:如果数据最近被访问过,那么在未来它被访问的概率也更高。因此,LRU缓存会保留最近访问过的数据,并在缓存满时淘汰最久未使用的数据定义LRU(LeastRecentlyUsed)缓存是一种常用的
  • 2023-12-21jwt 的标志
    shiro中//配置系统受限资源以及公共资源LinkedHashMap<String,String>filterChainDefinitionMap=newLinkedHashMap<String,String>();filterChainDefinitionMap.put("/login","anon");//可匿名访问filterChainDefinitionMap.put(&q
  • 2023-11-09Set---HashSet-LinkedHashSet
    概述Hashtableandlinkedlistimplementationofthe<tt>Set</tt>interface,withpredictableiterationorder.Thisimplementationdiffersfrom<tt>HashSet</tt>inthatitmaintainsadoubly-linkedlistrunningthroughallofitsen
  • 2023-11-07LinkedHashMap
    概述Hashtableandlinkedlistimplementationofthe<tt>Map</tt>interface,withpredictableiterationorder.Thisimplementationdiffersfrom<tt>HashMap</tt>inthatitmaintainsadoubly-linkedlistrunningthroughallofitsen
  • 2023-10-08集合
    Java集合MAPHashMapJava7(数组、链表)Java8(数组、链表、红黑树)key不许重复所以只允许有一个null无顺序,初始容量16,负载因子0.16TreeMap(红黑树)key默认升序LinkedHashMap插入顺序或者最近最少使用顺序LRUHashTable(不推荐,同步以至效率低)考虑并发用Co
  • 2023-09-26【Android面试】2023最新面试专题二:ArrayList篇
    1.4 请说一说ArrayList如何保证线程安全,除了加关键字的方式?这道题想考察什么?1、ArrayList的底层原理?考察的知识点ArrayList底层的源码的理解考生如何回答ArrayList如何保证线程安全继承Arraylist,然后重写或按需求编写自己的方法,这些方法要写成synchronized,在这些synchronized的
  • 2023-09-25Map类初识
    我们在前面的文章中已经简短的介绍了下Map,作为开始,我们再更深的了解一下,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1)HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位
  • 2023-09-07HashMap、LinkedHashMap和TreeMap:你真的了解它们吗?
    亲爱的小伙伴们,大家好呀!我是小米,一个热衷于技术分享的90后程序员。今天我要和大家聊聊一个在面试中经常会被问到的话题:HashMap、LinkedHashMap、TreeMap的区别。这可是一个非常重要的知识点,不仅在面试中会被频繁提及,而且在实际开发中也经常用到。让我们一起深入了解这三者的异同吧!H
  • 2023-09-02Java Map常见面试题
    你好,面试官|你拿JavaMap考验老干部?面试官:请说下对理解HashMap及LinkedHashMap的理解(八股文)(qq.com)你用过哪些Map?HashMap、LinkedHashMap、TreeMap、ConCurrentHashMap一般涉及到键值对的存取,我们第一时间想到的就是HashMap如果需要根据Key顺序实现存储键值对,TreeMap较
  • 2023-09-02说说你知道哪些Java集合吧
    Java集合,主要由两大接口派生而来一个是Collection接口,主要用于存放单一元素;下面有三个主要的子接口,List、Set、Queue。List实现类主要有ArrayList、LinkedList、Vector、StackSet实现类主要是HashSet、LinkedHashSet、TreeSetQueue主要是实现类有ArrayDeque、PriorityQueue