Java 中的数组范围
完成数组切片以从现有数组中获取一系列元素。这就像从给定数组中提取子数组。
本文介绍了如何从现有数组中获取一系列元素。
在 Java 中使用另一个数组从数组中获取一系列元素
我们将在此方法中将所需元素复制到新数组中。首先,我们必须根据给定的范围找到数组的开始和结束索引。然后,我们必须创建一个大小为(endIndex
- startIndex
)的空数组。最后,我们将给定数组中的元素复制到切片数组中并打印出来。
请参考下面给出的代码。
import java.util.Arrays;
public class Main
{
public static int[] getSlice(int[] array, int startIndex, int endIndex)
{
int[] slicedArray = new int[endIndex - startIndex];
for (int i = 0; i < slicedArray.length; i++)
{
slicedArray[i] = array[startIndex + i];
}
return slicedArray;
}
public static void main(String args[])
{
int[] array = {87,56,29,11,45,33,84,4,67,73};
int startIndex = 4, endIndex = 9;
int[] slicedArray = getSlice(array, startIndex, endIndex + 1);
System.out.println("Slice of Array: "+Arrays.toString(slicedArray));
}
}
输出:
Slice of Array: [45, 33, 84, 4, 67, 73]
建议仅在处理小尺寸数组时使用此方法。迭代一个数组并复制到另一个数组需要大量的内存和时间。
在 Java 中使用 copyOfRange()
方法从数组中获取元素范围
该方法在 java.util.Arrays
类中定义。此方法将给定原始数组中特定范围的元素复制到一个新数组,然后返回该数组。
例如,
import java.util.Arrays;
public class Main
{
public static int[] slice(int[] array, int startIndex, int endIndex)
{
int[] slicedArray = Arrays.copyOfRange(array, startIndex, endIndex);
return slicedArray;
}
public static void main(String args[])
{
int[] array = {87,56,29,11,45,33,84,4,67,73};
int startIndex = 4, endIndex = 9;
int[] sliceArray = slice(array, startIndex, endIndex + 1);
System.out.println("Slice of Array: "+Arrays.toString(sliceArray));
}
}
输出:
Slice of Array: [45, 33, 84, 4, 67, 73]
在 Java 中使用 stream
对象从数组中获取一系列元素
我们首先在此方法中查找范围的 startIndex
和 endIndex
。然后,我们必须使用 range()
方法将所需范围内的元素转换为原始流。接下来,map()
方法用于从原始数组映射范围所需的元素。最后,toArray()
方法将映射的数组转换为数组,然后我们将其打印出来。
请参考下面给出的代码。
import java.util.Arrays;
import java.util.stream.IntStream;
public class Main
{
public static int[] findSlice(int[] array, int startIndex, int endIndex)
{
int[] slcarray = IntStream.range(startIndex, endIndex).map(i -> array[i]).toArray();
return slcarray;
}
public static void main(String args[])
{
int[] array = {87,56,29,11,45,33,84,4,67,73};
int startIndex = 4, endIndex = 9;
int[] slcarray = findSlice(array, startIndex, endIndex + 1);
System.out.println("Slice of array for the specified range is: "+Arrays.toString(slcarray));
}
}
输出:
Slice of Array: [45, 33, 84, 4, 67, 73]
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,