在 Java 中将一个字符串插入另一个字符串2025 年 1 月 6 日 | 阅读 5 分钟 给定字符串的任务是在 Java 中将一个新字符串插入到给定字符串的特定索引处。 ![]() 示例 1 输入 StringOriginal = "Hello World", InsertedString = "Welcome To ", Atindex = 5 输出 插入另一个字符串后的字符串是 "Hello, Welcome To World." 示例 2 输入 StringOriginal = "JAVALanguage", InsertedString = " is a programming ", Atindex = 3 输出 插入另一个字符串后的字符串是 JAVA is a programming Language 有多种方法可以实现此任务,如下所示。 方法:不使用任何预定义方法通过应用此技术,我们将遍历字符串直到到达用户指定的索引。到达索引值后,将第二个字符串的元素添加到新字符串中,然后继续处理原始字符串。 算法 第 1 步:确定索引和字符串。 第 2 步:创建原始字符串 第 3 步:遍历字符串并将其复制到新字符串后,复制指定索引处的文本。 第 4 步:创建将要插入到新字符串中的字符串的副本。 第 5 步:将第一个字符串的剩余字符移到新字符串。 第 6 步:打印或返回新字符串。 实施文件名: StringInsertionPredefined.java 输出 The Original String given is : Hello World The String that has to be inserted is : Welcome To The String that has to be inserted at the index: 5 The string after the insertion of another string is : Hello, Welcome To World 复杂度分析 时间复杂度为 O(n),其中 n 是原始字符串的长度,因为循环会遍历字符串中的每个字符。但是,由于 Java 的 '+' 运算符的字符串连接具有 O(n) 的时间复杂度,因此当为原始字符串中的每个字符构造新字符串并将其与要插入的字符串连接时,总时间复杂度会增加到 O(n2)。 方法:使用 StringBuffer.insert() 方法算法 第 1 步:获取索引和字符串。 第 2 步:创建新的 StringBuffer 第 3 步:使用 StringBuffer.insert() 将 stringToBeInserted 插入到原始字符串中。 第 4 步:使用 StringBuffer.toString() 函数从缓冲区返回或打印字符串。 实施文件名: StringInsertionUsingBuffer.java 输出 The Original String given is : Hello World The String that has to be inserted is : Welcome To The String that has to be inserted at the index: 5 The string after the insertion of another string is : Hello, Welcome To World 复杂度分析 上述代码的时间复杂度为 O(n),其中 n 是原始字符串的长度。这是因为 StringBuffer 类的 insert() 方法需要移动插入点之后的字符以容纳新字符串,这导致 O(n) 的时间复杂度。 方法:使用 String.substring() 方法算法 第 1 步:获取索引和字符串。 第 2 步:构建新字符串 第 3 步:使用 substring (0, index+1) 技术将从 0 到指定索引 (index + 1) 的子字符串插入。 第 4 步:接下来,将要插入的字符串滑入字符串。然后,使用 substring(index+1) 方法将原始字符串的其余部分插入到新字符串中。 第 5 步:打印或返回新字符串 实施文件名: StringInsertionUsingSubString.java 输出 The Original String given is : Hello World The String that has to be inserted is : Welcome To The String that has to be inserted at the index: 5 The string after the insertion of another string is : Hello, Welcome To World 复杂度分析 上述技术的时间复杂度为 O(n),其中 n 是原始字符串的长度。这是因为代码中两次使用了 O(n) 时间复杂度的 substring 方法。字符串连接也需要 O(n) 的时间。 |
java.time.chrono.IsoChronology 类有一个 eras() 方法。使用 IsoChronology 类可以检索属于此特定 Iso 日历的所有时代。语法:public List eras() 参数:此方法不接受任何参数。返回值:属于...
阅读 2 分钟
在 Java 中,System.out.print() 和 System.out.println() 是 System 类中定义的两个方法,用于将输出发送到控制台。它们的外观和听起来很相似,但在光标移动和输出格式化方面有所不同。Java System.out.print() 方法 System.out.print() 方法打印指定的...
阅读 3 分钟
在 Java 中,String 是一个使用广泛的类,它表示字符序列。Java 中的 String 是不可变的,这意味着一旦创建了 String 对象,它的值就不能被改变。要了解更多 Java String 任何修改都会导致创建新的 String 对象……
阅读 8 分钟
在 Java 中,Collection 是一个框架,提供了接口(Set、List、Queue 等)和类(ArrayList、LinkedList 等)来存储对象的集合。这些类以无序的方式存储数据。有时我们需要以有序的方式排列数据,这是已知的...
阅读 8 分钟
在 Java 中清除屏幕通常涉及将特殊控制字符打印到控制台,从而触发终端或命令提示符清除其内容。但是,Java 的标准库并未提供清除屏幕的内置方法。相反,我们可以使用特定于平台的……
阅读 6 分钟
Java 静态类型与动态类型 Java 是一种强类型语言,它将变量、表达式和对象分类为静态类型。然而,Java 也通过使用其面向对象的特性来支持动态类型。在本节中,我们将探讨 Java 中的静态类型和动态类型概念...
5 分钟阅读
简介:Java Vector类是一个动态的类似数组的数据结构,允许您存储和处理对象。无论您是在处理小型项目还是大型应用程序,对Vector的组件进行精确排序都可能很有用。在本...
阅读 3 分钟
给出了一个整数数组。我们的任务是找到输入数组中最长连续整数子序列的长度。在输入数组中,连续整数可能同时出现,也可能不出现。例如:1 输入:int arr[] = {11, 39, 13,...
阅读9分钟
Java 是一种通用且广泛使用的编程语言,以其平台独立性和面向对象的方法而闻名。Java 编程中的基本概念之一是类和对象的使用。这其中一个关键方面是“驱动类”的概念。在此...
阅读 2 分钟
java.nio.DoubleBuffer 有一个 allocate() 函数。使用 DoubleBuffer 类在当前缓冲区旁边分配一个新的双缓冲区。新缓冲区的起始位置将为零。它的容量将是它的限制。它将有一个不明确的标记。它的所有元素都将...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India