![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 58
吕布辕门
逆水行舟,不进则退!
展开
-
java Collections使用方法与详细分析
Collections此类仅由对集合进行操作或返回集合的静态方法组成。用例import java.util.*;public class Test { public static void main(String[] args) { ArrayList<Integer> arrayList = new ArrayList<>(); arrayList.add(12); arrayList.add(10); .原创 2022-05-22 08:30:00 · 1107 阅读 · 0 评论 -
ArrayDeque 使用方法与源码分析
目录ArrayDeque属性构造函数方法入队扩容出队检索作为栈总结ArrayDeque接口的可调整大小的数组实现Deque。数组双端队列没有容量限制;它们会根据需要增长以支持使用。它们不是线程安全的;在没有外部同步的情况下,它们不支持多线程并发访问。禁止使用空元素。此类可能比 Stack用作堆栈时更快,并且比LinkedList 用作队列时更快。这个类的iterator方法返回的迭代器是 快速失败的:如果在迭代器创建后的任何时候修改了双端队列,除了通过迭代器自己的remove 方法之外,迭代器通常会.原创 2022-05-21 09:00:00 · 245 阅读 · 0 评论 -
LinkedHashSet 详细分析
LinkedHashSetSet接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与 HashSet的不同之处在于它维护一个双向链表,该列表贯穿其所有条目。这个链表定义了迭代顺序,即元素插入集合的顺序(插入顺序)。请注意,如果将元素重新插入集合中,则插入顺序**不受影响。LinkedHashSet底层使用LinkedHashMap存储元素。LinkedHashSet是有序的,它是按照插入顺序排序的。 public LinkedHashSet() { super(16, .75f,.原创 2022-05-20 08:30:00 · 823 阅读 · 0 评论 -
TreeSet 使用与详细分析
TreeSet底层基于TreeMap,在集合创建时使用其自然排序或Comparator提供的排序,具体取决于使用的构造函数。import java.util.*;public class Test { public static void main(String[] args) { TreeSet<Integer> set=new TreeSet<>(); set.add(5); set.add(4); .原创 2022-05-19 16:49:45 · 523 阅读 · 0 评论 -
【Java源码分析】TreeMap源码分析
TreeMap基于红黑树的NavigableMap实现。Map根据其键的自然顺序或Comparator在Map创建时提供的排序,具体取决于使用的构造函数。TreeMap利用了红黑树左节点小,右节点大的性质,根据 key 进行排序,使每个元素能够插入到红黑树适当的位置,维护了 key 的大小关系,适用于 key 需要排序的场景。因为底层使用的是红黑树,所以 TreeMap 中的 containsKey、get、put、remove 等方法的时间复杂度都是 log(n)。实例import java..原创 2022-05-01 09:30:00 · 292 阅读 · 0 评论 -
【Java源码分析】LinkedHashMap源码分析
目录LinkedHashMap用法属性插入节点获取节点删除节点总结LinkedHashMapMap接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与 HashMap的不同之处在于它维护一个双向链表,该列表贯穿其所有条目。这个链表定义了迭代顺序,通常是键插入映射的顺序(插入顺序)。实现不是同步的。当我们将true传递给accessOrder时,我们将实例化一个访问顺序LinkedHashMap 。 访问顺序LinkedHashMap维护从最近使用到最近使用的元素的访问顺序,而不是插入顺序。用法.原创 2022-04-30 08:15:00 · 210 阅读 · 0 评论 -
【Java源码分析】String 字符串索引查找lastIndexOf
lastIndexOflastIndexOf() 方法有四种形式:返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。语法public int lastIndexOf(int ch)或public int lastIndexOf(int ch, int fromIndex)或public int lastIndexOf(String str)或public int lastIndexOf(String str, int fromIndex)参数.原创 2022-04-26 08:30:00 · 773 阅读 · 0 评论 -
【Java源码分析】String 字符串索引查找 indexOf
indexOf()indexOf() 方法有以下四种形式:返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。public int indexOf(int ch):public int indexOf(int ch, int fromIndex): 。int indexOf(String str):int indexOf(String str, int fromIndex)参数ch – 字符,Unicode 编码。如a-97fromIndex – .原创 2022-04-27 08:00:00 · 1839 阅读 · 0 评论 -
【Java源码分析】String 字符串连接 join
join返回由delimiter连接的副本和指定的副本组成的新字符串 。请注意,如果元素为空,则"null"添加。语法:join(CharSequence delimiter, CharSequence... elements)join(CharSequence delimiter, Iterable<? extends CharSequence> elements)参数:delimiter- 分隔每个元素的分隔符elements- 要连接在一起的元素。返回:一个新Str.原创 2022-04-29 07:45:00 · 518 阅读 · 0 评论 -
【Java源码分析】String getChars
getChars()getChars() 方法将字符从字符串复制到目标字符数组。语法public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)参数srcBegin – 字符串中要复制的第一个字符的索引。srcEnd – 字符串中要复制的最后一个字符之后的索引。dst – 目标数组。dstBegin – 目标数组中的起始偏移量。返回值没有返回值实例public class Test { .原创 2022-04-30 07:45:00 · 463 阅读 · 0 评论 -
【Java源码分析】String 替换 replace
字符串替换replace()replace() 方法通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。语法public String replace(char searchChar, char newChar) 参数searchChar – 原字符。newChar – 新字符。返回值替换后生成的新字符串。实例以下实例对字符串 Runoob 中的字符进行替换:public class Main { public.原创 2022-04-28 07:45:00 · 2415 阅读 · 0 评论 -
【Java源码分析】String 检测 isEmpty
isEmptyisEmpty() 方法用于判断字符串是否为空。语法public boolean isEmpty()参数无返回值如果字符串为空返回 true,否则返回 false。字符串通过 length()方法计算字符串长度,如果返回 0,即为空字符串。实例以下实例演示了 isEmpty() 方法的使用:public class Main { public static void main(String[] args) { String myStr1 =.原创 2022-04-27 07:45:00 · 214 阅读 · 0 评论 -
【Java源码分析】String 检测 endsWith
endsWith()endsWith() 方法用于测试字符串是否以指定的后缀结束。语法public boolean endsWith(String suffix)参数suffix – 指定的后缀。返回值如果参数表示的字符序列是此对象表示的字符序列的后缀,则返回 true;否则返回 false。注意,如果参数是空字符串,或者等于此 String 对象(用 equals(Object) 方法确定),则结果为 true。实例public class Test { public s.原创 2022-04-26 07:45:00 · 318 阅读 · 0 评论 -
【Java源码分析】String 检测 startsWith
目录startsWith()语法参数返回值实例源码startsWith()startsWith() 方法用于检测字符串是否以指定的前缀开始。语法public boolean startsWith(String prefix, int toffset)或public boolean startsWith(String prefix)参数prefix – 前缀。toffset – 字符串中开始查找的位置。返回值如果字符串以指定的前缀开始,则返回 true;否则返回 false。原创 2022-04-25 09:03:55 · 232 阅读 · 0 评论 -
JAVA String 转换相关函数分析
目录字符串转换valueOf参数返回值实例源码toCharArray()语法参数返回值实例源码toLowerCase实例toUpperCasegetBytes()语法参数返回值实例字符串转换valueOfvalueOf() 方法有以下几种不同形式:valueOf(boolean b): 返回 boolean 参数的字符串表示形式。.valueOf(char c): 返回 char 参数的字符串表示形式。valueOf(char[] data): 返回 char 数组参数的字符串表示形式。v原创 2022-04-25 08:52:07 · 293 阅读 · 0 评论 -
Java 正则表达式 详细解析
目录正则表达式语法重复匹配懒惰匹配和贪婪匹配特殊字符匹配反向匹配范围匹配分组匹配Java常用正则表达式**用法**数字字符串功能验证正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式语法在 Java 中,\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。所以,在其他的语言中(如 Perl),一个反斜杠\ 就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个反斜杠才能被解原创 2022-04-24 08:34:51 · 1166 阅读 · 0 评论 -
【Java源码分析】String 字符串属性
目录字符串状态length()语法参数返回值实例源码hashCode语法参数返回值实例源码intern()toString()字符串状态length()length() 方法用于返回字符串的长度。空字符串的长度返回 0。语法public int length()参数无返回值返回字符串长度。实例以下实例演示了 length() 方法的使用:public class Test { public static void main(String args[]) {原创 2022-04-23 14:43:27 · 299 阅读 · 1 评论 -
【Java源码分析】String 字符串hashCode
hashCodehashCode() 方法用于返回字符串的哈希码。字符串对象的哈希码根据以下公式计算:s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]使用 int 算法,这里 s[i] 是字符串的第 i 个字符的 ASCII 码,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。语法public int hashCode()参数无。返回值返回对象的哈希码值。实例public class Test { public原创 2022-04-25 10:30:00 · 1965 阅读 · 0 评论 -
【Java源码分析】String 字符串复制 copyValueOf
字符串复制copyValueOf()字符数组-字符串public static String copyValueOf(char[] data): 返回指定数组中表示该字符序列的字符串。public static String copyValueOf(char[] data, int offset, int count): 返回指定数组中表示该字符序列的 字符串。语法public static String copyValueOf(char[] data)或public static St原创 2022-04-24 07:30:00 · 2260 阅读 · 0 评论 -
【Java源码分析】String 字符串内容比较 contentEquals
contentEqualscontentEquals() 方法用于将此字符串与指定的 StringBuffer 比较。语法public boolean contentEquals(StringBuffer sb)参数sb – 要与字符串比较的 StringBuffer。返回值如字符串与指定 StringBuffer 表示相同的字符序列,则返回 true;否则返回 false。实例public class Test { public static void main(Strin原创 2022-04-23 08:45:00 · 149 阅读 · 0 评论 -
【Java源码分析】String 字符串比较 compareTo
compareTo()compareTo() 方法用于两种方式的比较:字符串与对象进行比较。按字典顺序比较两个字符串。返回值返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。如果参数字符串等于此字符串,则返回值 0;如果此字符串小于字符串参数,则返回一个小于 0 的值;如果此字符原创 2022-04-22 07:45:00 · 279 阅读 · 0 评论 -
【Java源码分析】String 字符串连接 concat
concat()将指定的字符串连接到此字符串的末尾。语法public String concat(String s)参数s – 要连接的字符串。返回值返回连接后的新字符串。实例public class Test { public static void main(String args[]) { String s = "Hello "; s = s.concat("world"); System.out.println(s);原创 2022-04-22 07:15:00 · 343 阅读 · 0 评论 -
【Java源码分析】String 方法 charAt
charAt()public char charAt(int index)charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。参数:index- 值的索引char。返回:char此字符串的指定索引处的值。第一个char值位于 index 处0。抛出:IndexOutOfBoundsException- 如果index 参数为负数或不小于此字符串的长度。实例public class Test { public static void m原创 2022-04-22 06:00:00 · 947 阅读 · 0 评论 -
【Java源码分析】String 方法 endsWith
endsWith()endsWith() 方法用于测试字符串是否以指定的后缀结束。语法public boolean endsWith(String suffix)参数suffix – 指定的后缀。返回值如果参数表示的字符序列是此对象表示的字符序列的后缀,则返回 true;否则返回 false。注意,如果参数是空字符串,或者等于此 String 对象(用 equals(Object) 方法确定),则结果为 true。实例public class Test { public st原创 2022-04-21 08:20:25 · 898 阅读 · 0 评论 -
【Java源码分析】String 方法 startsWith
startsWith()startsWith() 方法用于检测字符串是否以指定的前缀开始。语法public boolean startsWith(String prefix, int toffset)或public boolean startsWith(String prefix)参数prefix – 前缀。toffset – 字符串中开始查找的位置。返回值如果字符串以指定的前缀开始,则返回 true;否则返回 false。实例public class Test {原创 2022-04-21 08:14:32 · 3466 阅读 · 0 评论 -
【Java源码分析】String 方法 isEmpty
isEmptyisEmpty() 方法用于判断字符串是否为空。语法public boolean isEmpty()参数无返回值如果字符串为空返回 true,否则返回 false。字符串通过 length()方法计算字符串长度,如果返回 0,即为空字符串。实例以下实例演示了 isEmpty() 方法的使用:public class Main { public static void main(String[] args) { String myStr1 =原创 2022-04-21 08:03:15 · 963 阅读 · 0 评论 -
【Java源码分析】String 比较 equals
equals()equals() 方法用于将字符串与指定的对象比较。String 类中重写了 equals() 方法用于比较两个字符串的内容是否相等。语法public boolean equals(Object anObject)参数anObject – 与字符串进行比较的对象。返回值如果给定对象与字符串相等,则返回 true;否则返回 false。实例public class Test { public static void main(String args[]) {原创 2022-04-21 07:57:47 · 950 阅读 · 0 评论 -
【Java基础试题汇总72变】详细分析,边做边学
试题汇总1、下面哪个流类属于面向字符的输入流?(D)A. BufferedWriter B. FileInputStream C. ObjectInputStream D. InputStreamReader解析:B,C是面向字节的输入流,不符合题意,A是面向字符的,不过是输出流,D正确,是面向字符的输入流,面向字符的输入流类都是Reader的子类2、关于对象成员占用内存的说法哪个正确?(B )同一个类的对象共用同一段内存同一个类的对象使用不同的内原创 2022-04-20 11:53:17 · 2568 阅读 · 0 评论 -
【Java从入门到精通】泛型
目录泛型一、为什么要使用泛型1.类型参数的好处二、定义简单的泛型类三、泛型方法四、类型变量的限定五、泛型代码和虚拟机1.类型擦除2.翻译泛型表达式3.翻译泛型方法六、约束和局限性1.不能使用基本类型实例化泛型2.运行时类型检查只适用于原始类型3.不能创建参数化类型数组4.不能实例化类型变量5.不能构造泛型数组七、通配符类型1.通配符超类型限定2.无限制泛型一、为什么要使用泛型1.类型参数的好处类型安全:泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可原创 2022-04-15 07:45:00 · 567 阅读 · 0 评论 -
【Java从入门到精通】类型信息&反射
类型信息什么是 RTTI?RTTI 即 Runtime Type Information,顾名思义,也就是在运行时,识别对象和类的信息。RTTI 有两种,一种是“传统的” RTTI,它假定我们在编译时就已经知道了所有的类型;另一种是“反射”机制,它允许我们在运行时发现和使用类的信息。最简单的一个例子,比如:List<Shape> shapeList = Arrays.asList(new Circle(), new Square(), new Triangle());for(Shape原创 2022-04-16 07:00:00 · 180 阅读 · 0 评论 -
【Java从入门到精通】多态
目录多态概念多态的转型多态的优点多态存在的必要条件概念对比1. 重写2. 重载(非多态)3. 接口实现绑定机制多态概念多态是继封装、继承之后,面向对象的第三大特性。描述一个事物的多种形态多态体现为父类引用变量可以指向子类对象多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。多态通过分离做什么、怎么做,通过另外一个角度将接口和实现分离。多态的转型多态的转型分为向上转型和向下转型两种向上转型:多态本身就是向上转型过的原创 2022-04-14 07:00:00 · 224 阅读 · 0 评论 -
【Java从入门到精通】 复用代码
复用代码复用性是面向对象技术带来的很棒的潜在好处之一。如果运用的好的话可以帮助我们节省很多开发时间,提升开发效率。但是,如果被滥用那么就可能产生很多难以维护的代码。Java代码的复用有继承,组合以及代理三种具体的表现形式。继承:继承(Inheritance)是一种联结类与类的层次模型。指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;继承是一种is-a关系。组合:组合(Composition)体现原创 2022-04-13 07:45:00 · 507 阅读 · 0 评论 -
【Java从入门到精通】访问权限控制
访问权限控制修饰符用来定义类、方法或者变量,通常放在语句的最前端。Java语言提供了很多修饰符,主要分为以下两类:访问修饰符非访问修饰符其中非访问修饰符主要有:static、final、abstract、synchronized和volatile,非访问修饰符根据各自的特性来保证特定功能的实现。Java中使用访问控制符来保护对类、变量、方法和构造方法的访问,访问控制修饰符对应的权限控制的大小情况为:public > protected > default(包访问权限) >原创 2022-04-12 07:00:00 · 534 阅读 · 0 评论 -
【Java从入门到精通】初始化与清理
目录初始化与清理介绍详情构造器构造函数的重载基本类型的重载this关键字清理:终结处理和垃圾回收属性初始化1、类的静态属性2、对象的属性3、类的静态属性和对象的属性初始化过程初始化与清理介绍程序在运行过程中,可能因为开发人员忘记给变量进行初始化导致程序出现错误,也可能因为无法释放内存造成内存泄露最终导致大量内存被占用,程序被动终止。因此在Java类或者对象的生命期间,变量(包括静态变量)的初始化以及对象不在使用时的内存回收也决定这程序的健壮性等多个方面。初始化:初始化只是类或者对象在使用前,对其属原创 2022-04-11 09:00:00 · 100 阅读 · 0 评论 -
【Java从入门到精通】概述
目录对象导论1.1 抽象过程1.2 每个对象都有一个接口1.3 每个对象都提供服务1.4 被隐藏的具体实现1.5 复用具体实现1.6 继承1.7 伴随多态的可互换对象1.8 单根继承结构1.9 容器1.10 对象的创建和生命周期1.11 异常处理:处理错误1.12 并发编程1.13 Java与internet对象导论1.1 抽象过程万物皆对象。程序是对象的集合(即:类),他们通过发送消息(调用方法)来告知彼此要做的。每个对象都有自己的由其他对象所构成的存储(引用其他对象或基本类型,即组合)。每原创 2022-04-10 19:01:23 · 251 阅读 · 1 评论 -
jdk8新特性之函数式编程&## Lambda 表达式
简介什么特性面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。现实世界中,数据和行为并存,程序也是如此,因此这两种编程方式我们都得学。编写出更容易阅读的代码。处理批量数据的并行类库。在写回调函数和事件处理程序时,程序员不必再纠缠于匿名内部类的冗繁和可读性。Java 8 还让集合类可以拥有一些额外的方法: default 方法。什么是函数式编程每个人对函数式编程的理解不尽相同。但其核心是:在思考问题时,使用不可变值和函数,函数对一个值进行处理,映射成另一个值。原创 2022-02-08 11:29:09 · 405 阅读 · 0 评论 -
jdk7新特性
try-with-resources是一种声明了一种或多种资源的try语句。资源是指在程序用完了之后必须要关闭的对象。try-with-resources语句保证了每个声明了的资源在语句结束的时候都会被关闭。任何实现了java.lang.AutoCloseable接口的对象,和实现了java .io .Closeable接口的对象,都可以当做资源使用。try ( InputStream is = new FileInputStream("xx"); OutputStream os = ne原创 2022-02-08 11:27:17 · 320 阅读 · 0 评论