Java数组截取如何实现?Java语言教程

TheDisguiser 2020-04-19 20:05:50 java常见问答 4946

数组相信大家都知道了,有时候在使用数组中你会遇到这样一种情况,你只想要数组中一部分内容,并不想要全部数组,这时候该怎么办呢?就只能截取数组了,那你们知道数组该如何截取吗?跟着我一起来了解一下吧。

截取数组我们必须使用arrayObject.slice(start,end)方法

这个方法有两个参数

Start,必需参数:规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

End,可选参数。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

例:创建一个新数组,然后显示从其中选取的元素

<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
document.write(arr.slice(2,4) + "<br />")
document.write(arr)
</script>

输出:

George,John,Thomas
John,Thomas
George,John,Thomas

其他方法:

自定义类

public class Day12_2
{
    public static void main(String[] args)
    {
        int[] A = new int[]
        {
            1
            , 3
            , 5
            , 7
            , 9
        };
        int start = 1;
        int end = 3;
        arraySub(A, start, end);
    }
    public static void arraySub(int[] data, int start, int end)
    {
        for (int i = start; i < end; i++)
        {
            < p = "" >
                System.out.print(data[i] + " ");
        }
    }
}

当自定义类有返回值时

public class Day12_2
{
    public static void main(String[] args)
    {
        int[] A = new int[]
        {
            1
            , 3
            , 5
            , 7
            , 9
        };
        int start = 1;
        int end = 3;
        int[] B = arraySub(A, start, end);
        for (int i: B)
        {
            System.out.print(i + " ");
        }
    }
    public static int[] arraySub(int[] data, int start, int end)
    {
        int[] C = new int[end - start]; //新建数组C长度为start-end
        int j = 0;
        for (int i = start; i < end; i++)
        {
            < p = "" >
                C[j] = data[i];
            j++;
        }
        return C; //返回截取数组的地址
    }
}

以上就是本篇文章的所有内容了,想了解更多Java一些知识问答内容的话,请多多关注本站吧。