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 类共享一些共同的特性,如下所示:这两个类都必须是 public 的,即对所有人可见。在两个类中定义的属性或变量必须是 private 的,即不能直接访问。这两个类都必须具有默认构造函数,即无参数构造函数。为了访问变量/属性,这两个类中都必须存在公共的 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) { ... 阅读更多