java知识点
文章平均质量分 56
爱莉我老婆
Java萌新算法选手一枚,去过蓝桥国赛。励志补全Java版本的算法模板
展开
-
浅析Java中的LinkedList和ArrayList特点和底层
LinkedList适合于删除和插入元素的操作,对首元素和尾元素的删除和修改插入极好,ArrayList适合于元素的修改和查询。原创 2024-04-24 22:00:19 · 336 阅读 · 1 评论 -
浅析Java的字符串的底层和相关知识(恳请大佬指正)
在拼接字符串的时候,如果大量拼接时建议使用StringBuilder,在转为字符串。原创 2024-04-24 17:43:28 · 302 阅读 · 0 评论 -
浅析 LinkedList<Double>里的Double类型比较
先说==号的比较原理吧,在比较基本数据类型时,他比较的是基本数据类型的数值大小,但是引用数据类型时就是比较的数据的地址大小,如果我们开LinkedList并存入Double类型的数值,即使我们存入的数值一样,直接来比较这两个数值的大小也会报错。将ll1.get(0)==ll1.get(1)改为ll1.get(0)-ll1.get(1)==0。自动拆箱原理是Java的自动拆箱功能可以自动将一个对象类型转换成对应的基本类型。这是为什么呢,这就涉及到Java的自动拆箱原理和==号的比较原理。原创 2024-04-22 10:20:12 · 251 阅读 · 0 评论 -
利用TreeMap来达成离散化的目的
TreeMap由于会自动对编号(key)排序并且内部使用二分查找(由于其是有序,按照键的大小来排序),所以找寻键和存储键值对会相对较快,但是数据多了可能会爆时间,所以还是小心使用,但这仍是一个新用途。可以考虑离散化,由于编号不连续,我们重新组织编号,也可以考虑TreeMap,利用《编号,数量》来表示。假如有一些奶牛,他们有种类的区别,我们设黑色奶牛的id为1000010000,白色为1,诸如此类以此类推还有红色等各种颜色,接下来给你一群奶牛的颜色id让你统计每种颜色的奶牛有几头。原创 2023-10-22 21:10:13 · 218 阅读 · 0 评论 -
浅析Java的底层内存分布
作为一名优秀的程序猿,我们有必要了解一下Java的底层的内存分配以及浅浅的了解一下Java的垃圾回收机制。本片博客我们主要讲解Java内存中的栈内存,堆内存和方法区这三者。原创 2023-08-29 15:21:35 · 90 阅读 · 0 评论 -
c++之指针
问及这个问题,不得不谈c++的函数返回值里无法返回数组类型,那我们怎么办,我们使用指针,我们通过返回指针类型的变量,使用指针来访问数组。但是当我们在函数中开辟一个指针来存储数值时,当我们的函数结束,我们在函数里开辟的指针地址会失效被回收,这就牵扯了一个问题,即使我们已经把指针地址传给了main函数里的指针时,当原指针的地址被回收时,我们仍无法通过指针来访问值了,怎么办?办法有,,可以使用动态分配内存的方式来解决问题,动态分配的内存直到我们手动delete时才会被回收。int d;for(d=0;原创 2023-08-28 23:30:59 · 1696 阅读 · 2 评论 -
TreeMap工具使用系列
此题我们只要将前n个数排好序然后往里边找到最接近ai的数即可,我们使用TreeMap来存储数字和编号,并使用其配套方法来实现。值得注意的是,题目说一旦差值相同,选择编号最小的,所以我们要最后使用floorEntry方法。这两个方法的具体使用,可以看看博主的上个博客,里边有验证。原创 2023-08-04 10:47:50 · 86 阅读 · 1 评论 -
TreeMap讲解(ceilingEntry(),floorEntry(),ceilingKey(),floorKey())
对于去重功能,它默认去除基本数据类型去重。一旦涉及到自定义的数据类型即类,我们要在类中重新写equals和hashcode方法。对于排序功能,默认是升序和按字典序排列。对于我们自定义排序,可以在类中继承Comparable重写compareTo方法,对于大于int类型的整数比较可以在重写的也可以在compareTo方法中写上Long.compare()。第二种方法直接在@Override});这样写。TreeMap的添加与遍历方式同HashMap,在这里不在重述。原创 2023-08-03 16:53:33 · 634 阅读 · 0 评论