迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 中的数组范围

作者:迹忆客 最近更新:2023/09/17 浏览次数:

完成数组切片以从现有数组中获取一系列元素。这就像从给定数组中提取子数组。

本文介绍了如何从现有数组中获取一系列元素。


在 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 对象从数组中获取一系列元素

我们首先在此方法中查找范围的 startIndexendIndex。然后,我们必须使用 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 中的链表数组

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 中的打乱数组

发布时间:2023/09/11 浏览次数:173 分类:Java

本教程演示了如何在 Java 中打乱数组。

克隆 Java 数组

发布时间:2023/09/11 浏览次数:67 分类:Java

本教程将演示 Java 数组的不同 Clone 方法。

在 Java 中比较数组

发布时间:2023/09/11 浏览次数:76 分类:Java

本教程使用不同的代码示例演示了在 Java 中比较数组的各种方法。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便