当前位置:首页 > Java

java 如何截断数组

2026-03-22 00:43:34Java

截断数组的方法

在Java中,截断数组可以通过多种方式实现,具体取决于需求。以下是几种常见的方法:

使用 Arrays.copyOf

Arrays.copyOf 方法可以创建一个新数组,并将原数组的前N个元素复制到新数组中:

import java.util.Arrays;

int[] originalArray = {1, 2, 3, 4, 5};
int newLength = 3; // 截断后的长度
int[] truncatedArray = Arrays.copyOf(originalArray, newLength);
// truncatedArray 结果为 [1, 2, 3]

使用 System.arraycopy

System.arraycopy 允许手动复制数组的一部分到另一个数组中:

int[] originalArray = {1, 2, 3, 4, 5};
int newLength = 3;
int[] truncatedArray = new int[newLength];
System.arraycopy(originalArray, 0, truncatedArray, 0, newLength);
// truncatedArray 结果为 [1, 2, 3]

使用 Arrays.copyOfRange

如果需要截取数组的中间部分,可以使用 Arrays.copyOfRange

import java.util.Arrays;

int[] originalArray = {1, 2, 3, 4, 5};
int startIndex = 1; // 起始索引
int endIndex = 4;   // 结束索引(不包括)
int[] truncatedArray = Arrays.copyOfRange(originalArray, startIndex, endIndex);
// truncatedArray 结果为 [2, 3, 4]

使用 List.subList(适用于列表)

如果操作的是 List,可以使用 subList 方法截取部分内容:

import java.util.ArrayList;
import java.util.List;

List<Integer> originalList = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
int startIndex = 1;
int endIndex = 4;
List<Integer> truncatedList = originalList.subList(startIndex, endIndex);
// truncatedList 结果为 [2, 3, 4]

手动截断(适用于不可变数组)

对于不可变数组或需要直接操作的情况,可以手动创建新数组并填充:

java 如何截断数组

int[] originalArray = {1, 2, 3, 4, 5};
int newLength = 3;
int[] truncatedArray = new int[newLength];
for (int i = 0; i < newLength; i++) {
    truncatedArray[i] = originalArray[i];
}
// truncatedArray 结果为 [1, 2, 3]

注意事项

  • 截断后的数组是新数组,原数组不会被修改。
  • 确保截断长度不超过原数组长度,否则会抛出异常(如 ArrayIndexOutOfBoundsException)。
  • 对于 ListsubList 返回的是原列表的视图,修改子列表会影响原列表。

标签: 数组java
分享给朋友:

相关文章

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…

java如何给数组赋值

java如何给数组赋值

数组赋值的几种方法 在Java中,可以通过多种方式为数组赋值。以下是常见的几种方法: 静态初始化 int[] array1 = {1, 2, 3, 4, 5}; String[] array2 =…

vue实现数组排序

vue实现数组排序

vue实现数组排序的方法 在Vue中实现数组排序主要依赖JavaScript的数组排序方法,结合Vue的响应式特性确保视图同步更新。以下是几种常见实现方式: 使用JavaScript原生sort方法…

java实现vue接口

java实现vue接口

Java 实现 Vue 接口的方法 在 Java 中实现 Vue 前端调用的接口,通常需要使用 Spring Boot 框架构建 RESTful API。以下是具体的实现步骤和代码示例。 创建 Sp…

vue实现数组置顶操作

vue实现数组置顶操作

实现数组置顶的方法 在Vue中实现数组置顶操作,可以通过多种方式完成。以下是几种常见的实现方法: 使用数组的splice和unshift方法 // 假设有一个数组items const index…