2K+ 阅读量
在这篇文章中,我们将学习如何使用 Java 的 Map 工具查找字符串中的唯一单词,因为它具有不包含重复键的特性。要查找唯一单词,首先获取数组中的所有单词以比较每个单词,为此,根据空格/s 分割字符串。如果存在其他字符,例如逗号 (,) 或句点 (.),则首先使用所需的正则表达式从字符串中替换这些字符。将字符串的每个单词作为 Map 的键插入,并为每个键提供初始值,如果这... 阅读更多
609 阅读量
要计算字符串中元音出现的次数,再次使用 java 的 Map 工具,就像在计算字符串中每个字符出现的次数时一样。将每个元音作为 Map 的键放入,并为每个键的初始值设置为 1。现在将每个字符与 map 的键进行比较,如果一个字符与一个键匹配,则将其对应的值增加 1。示例public class OccurenceVowel { public static void main(String[] args) { String str = "AEAIOG"; LinkedHashMap hMap = new LinkedHashMap(); hMap.put('A', 0); hMap.put('E', 0); hMap.put('I', 0); hMap.put('O', 0); hMap.put('U', 0); for (int i = 0; i
30K+ 阅读量
在这篇文章中,我们将尝试以与我们在纸上通常编写相同的方式在控制台中打印数字数组或矩阵。为此,逻辑是逐个访问数组的每个元素,并用空格分隔它们打印出来,当行到达矩阵的末尾时,我们也将更改行。示例 在线演示public class Print2DArray { public static void main(String[] args) { final int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; for (int i = 0; i
1K+ 阅读量
在 Java 中,不可变类是一个一旦创建,其内容就不能更改的类。在相同的概念中,不可变对象是指一旦构造,其状态就不能更改的对象。包装类被设计为不可变的,因为有以下优点:由于不可变对象的状态一旦创建就不能更改,因此它们会自动同步。不可变对象自动线程安全,避免了由于使用同步而导致的开销。一旦创建,包装类不可变对象的状态就不能更改,因此它们不可能进入不一致的状态。这... 阅读更多
4K+ 阅读量
众所周知,在 Java 中,POJO 指的是普通的旧 Java 对象。Java 中的 POJO 和 Bean 类共享一些共同的特征,如下所示:这两个类都必须是公共的,即对所有人可见。在两个类中定义的属性或变量必须是私有的,即不能直接访问。这两个类都必须具有默认构造函数,即无参数构造函数。为了访问变量/属性,这两个类中都必须存在公共的 Getter 和 Setter。这两个类之间唯一的区别在于 Java 使 Java Bean 对象序列化,以便可以保留 Bean 类的状态... 阅读更多
419 阅读量
POJI 是 Plain Old Java Interface 的首字母缩写,对应于 Java 标准接口,这意味着这些接口是在 JEE 中提供服务的上下文中。例如,OSGI 服务通过 JEE 中的 POJI 提供。换句话说,我们可以说 POJI 是一个普通的接口,没有任何特殊性,它没有继承任何技术 API 特定接口或框架接口。示例interface myCustomInterface { public void myMethod(); } interface mySecondCustomInterface extends myCustomInterface { public void mySecondMethod(); }这两个接口都称为 POJI,因为它们没有继承任何技术特定的... 阅读更多
5K+ 阅读量
众所周知,在 Java 中始终是按值传递而不是按引用传递的核心概念。因此,在这篇文章中,我们将重点关注在传递基本类型和传递对方法的引用时,此概念是如何得到验证的。当基本类型作为参数传递给方法时,分配给该基本类型的值将传递给该方法,并且该值成为该方法的局部值,这意味着方法对该值的任何更改都不会更改您拥有的基本类型的值... 阅读更多
811 阅读量
构造函数链是在用户在特定方法中初始化对象时注入构造函数的特定顺序。当我们仅基于实例类依次调用大量构造函数时,可以使用此过程。此过程是与继承相关的另一种方法,其中子类构造函数的任务是调用超类构造函数。在 Java 中可以通过两种方式执行构造函数链:在同一个类中 - 该过程可以通过使用 this() 关键字对存在于同一个类中的构造函数进行。从基类 - 通过使用... 阅读更多
当我们在程序中启动两个或多个线程时,可能会出现多个线程尝试访问相同资源的情况,最终由于并发问题而产生不可预见的结果。例如,如果多个线程尝试写入同一个文件,则它们可能会损坏数据,因为其中一个线程可能会覆盖数据,或者当一个线程正在打开同一个文件时,另一个线程可能正在关闭同一个文件。因此,需要同步多个线程的操作并确保只有一个线程... 阅读更多
327 阅读量
java.util.LinkedList.listIterator(int index) 方法返回此列表中元素的列表迭代器(按正确顺序),从列表中的指定位置开始。声明以下是 java.util.LinkedList.listIterator() 方法的声明public ListIterator listIterator(int index)参数index - 列表迭代器要返回的第一个元素的索引返回值此方法返回此列表中元素的 ListIterator(按正确顺序),从列表中的指定位置开始异常IndexOutOfBoundsException - 如果索引超出范围示例以下示例显示了 java.util.LinkedList.listIterator() 方法的用法。示例 在线演示package com.tutorialspoint; import java.util.*; public class LinkedListDemo { public static void main(String[] args) { ... 阅读更多