![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
m0_49271078
莫在浮沙筑高台
展开
-
Comparator接口与Comparable接口区别
一、 概述 在日常的开发工作中经常会遇到对自定义对象进行比较然后进行排序的场景,对自定义对象进行排序通常有两种实现方式:使用Comparable接口和Comparator接口。两种方式各有优劣,下面结合例子对两种实现方式做一个简单的分析。 二、Comparable接口 Comparable接口位于java.lang.Comparable,对象实现此接口并重写compareTo方法可以实现自定义的排序,这种方式使得类本身具有排序能力。Jdk文档中指出可以使用 Collection.sort() 和 Array原创 2020-10-14 10:57:41 · 122 阅读 · 0 评论 -
Java中常见常量池学习笔记
Java的常量池有字符串常量池、Class常量池和运行时常量池等,一想到这么多的常量池头都大了,今天就来梳理一下这些常量池的区别。 一、运行时常量池 运行时常量池是方法区的一部分,即JDK1.8中的元空间。JVM将类加载到内存中后,会将Class常量池中的内容存放到运行时常量池中。 二、Class文件常量池 Clas文件中除了有类的版本、字段等描述信息外,还有常量池表(Constant Pool Table),用于存放编译期生成的各种字面量和符号引用,这部分内容在类加载后会存放在方法区中的运行时常量池。常原创 2020-09-22 21:25:09 · 123 阅读 · 0 评论 -
Java集合常用方法的时间复杂度
ArrayList常用方法时间复杂度 ArrayList底层数据结构是:数组 增加 add(E):尾部添加,时间复杂度O(1) add(index, E): 指定位置添加,时间复杂度O(N);指定位置添加后,需要将指定位置后面的全部元素向后移动一个位置 删除 remove(E) :删除指定元素,需要先遍历找到指定元素,因此时间复杂度是O(N) remove(index):删除指定位置元素,删除后需要将指定位置后面的元素全部向前移动一个位置,时间复杂度O(N) 查询 get(index):查询指定位置元素,O原创 2020-09-04 14:45:34 · 1292 阅读 · 0 评论