在Java中只获取一部分数组?

我在Java中有一个Integers数组,我只想使用它的一部分。 我知道在Python中你可以做类似这个数组[index:]的东西,它从索引中返回数组。 这样的事情在Java中是可能的。

Borut Flis asked 2019-03-24T12:54:11Z

8个解决方案

318 votes

使用java.util.Arrays类中的copyOfRange方法:

int[] newArray = Arrays.copyOfRange(oldArray, startIndex, endIndex);

startIndex是要复制的范围的初始索引(包括)。

endIndex是要复制的范围的最终索引,不包括。 (此索引可能位于数组之外)

例如。:

//index 0 1 2 3 4

int[] arr = {10, 20, 30, 40, 50};

Arrays.copyOfRange(arr, 0, 2); // returns {10, 20}

Arrays.copyOfRange(arr, 1, 4); // returns {20, 30, 40}

Arrays.copyOfRange(arr, 2, arr.length); // returns {30, 40, 50} (length = 5)

elias answered 2019-03-24T12:54:56Z

26 votes

您可以将数组包装为列表,并请求它的子列表。

MyClass[] array = ...;

List subArray = Arrays.asList(array).subList(index, array.length);

K-ballo answered 2019-03-24T12:55:25Z

20 votes

是的,您可以使用Arrays.copyOfRange

它做了同样的事情(注意有一个副本:你不改变初始数组)。

Denys Séguret answered 2019-03-24T12:56:07Z

7 votes

如果您使用的是Java 1.6或更高版本,则可以使用Arrays.copyOfRange复制阵列的一部分。 来自javadoc:

将指定数组的指定范围复制到新数组中。 范围(from)的初始索引必须介于0和original.length之间(包括端点)。 original[from]的值放入副本的初始元素中(除非from == original.length或from == to)。 原始数组中后续元素的值将放入副本中的后续元素中。 范围的最终索引(to)必须大于或等于from,可能大于original.length,在这种情况下,false被放置在索引大于或等于original.length - from的副本的所有元素中。 返回的数组将是to - from。

这是一个简单的例子:

/**

* @Program that Copies the specified range of the specified array into a new

* array.

* CopyofRange8Array.java

* Author:-RoseIndia Team

* Date:-15-May-2008

*/

import java.util.*;

public class CopyofRange8Array {

public static void main(String[] args) {

//creating a short array

Object T[]={"Rose","India","Net","Limited","Rohini"};

// //Copies the specified short array upto specified range,

Object T1[] = Arrays.copyOfRange(T, 1,5);

for (int i = 0; i < T1.length; i++)

//Displaying the Copied short array upto specified range

System.out.println(T1[i]);

}

}

Justin Ethier answered 2019-03-24T12:57:09Z

3 votes

你可以试试:

System.arraycopy(sourceArray, 0, targetArray, 0, targetArray.length);// copies whole array

// copies elements 1 and 2 from sourceArray to targetArray

System.arraycopy(sourceArray, 1, targetArray, 0, 2);

请参阅javadoc for System。

StvnBrkdll answered 2019-03-24T12:57:53Z

3 votes

看看copyOfRange; 和例子:

int[] arr2 = Arrays.copyOfRange(arr,0,3);

dcp answered 2019-03-24T12:58:39Z

1 votes

你可以使用这样的东西:Arrays#copyOfRange

CBredlow answered 2019-03-24T12:59:13Z

0 votes

Arrays.copyOfRange(array,from,to);

输入参数'to'是包含的。 所以在你的代码中,添加一个'到'+ 1值来修复你的问题。

java 数组 取部分_在Java中只获取一部分数组?相关推荐

  1. java hash取余_为什么Java的hash表的长度一直是2的指数次幂?为什么这个(hash(h-1)=hash%h)位运算公式等价于取余运算?...

    1.什么是hash表? 答:简单回答散列表,在hash结构散列(分散)存放的一种数据集结构. 2.如何散列排布,如何均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) ...

  2. python取数组最后一个元素_Python Json。只获取json数组中的最后一个元素

    我刚开始尝试python,现在我有点左右为难.在 我试图从一个json文档打印,而我只得到数组中的最后一个元素.在[{ "FullMeasure": "1/2 cup&q ...

  3. js 数组 改变长度_比较JavaScript中的数据结构(数组与对象)

    文末送5本书 在编程中,如果你想继续深入,数据结构是我们必须要懂的一块, 学习/理解数据结构的动机可能会有所不同,一方面可能是为了面试,一方面可能单单是为了提高自己的技能或者是项目需要.无论动机是什么 ...

  4. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

    [http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...

  5. java获取目录中最后被更改的文件_如何使用Java从目录中只获取10个最后修改过的文件?...

    我是初学者,我发现了一个关于 java中lastmodified文件的旧线程. 我想要的是从目录中只获取10个最近的文件并将它们移动到另一个目录. 在此论坛中找到的此代码运行良好,但它从目录中获取所有 ...

  6. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  7. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc

    C语言中动态分配二维数组复习过程.doc C语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的.C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C ...

  8. JAVA8数组相并_【Java笔记】Java8中数组(引用类型)、String、List、Set之间的相互转换问题...

    数组.String.List.Set之间的相互转换问题 如果觉得对你有帮助,能否点个赞或关个注,以示鼓励笔者呢?!博客目录 | 先点这里 本博主要是相理清楚一些转换的逻辑,顺便总结一下贴出来.这里是把 ...

  9. java创建数组并赋值_「java 数组」Java创建数组的方法 - seo实验室

    java 数组 最近学java,一点小心得,希望和大家分享一下,第一次写文章,写的不好希望大家谅解,当然我也会尽力写好这篇文章! Java创建数组的方法大致有三种 说明:这里以int为数据类型以arr ...

最新文章

  1. jQuery Autocomplete
  2. JQuery之ajax异步请求Django后端
  3. 文巾解题 1418. 点菜展示表
  4. RabbitMQ使用${}读取配置文件中的属性值
  5. Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=
  6. spring框架学习笔记(八)
  7. 位运算(按位与、按位或、异或、取反)以及原码、反码、补码
  8. PEG衍生物Azide-PEG-NHS,N3-PEG-NHS,叠氮-聚乙二醇-活性酯
  9. 限制网页只能在微信浏览器打开
  10. IOT-Studio 物联网应用开发实例
  11. 如何将网站发布上线,配合宝塔Linux面板,小白级教程
  12. 在线计算机能力测试答案,计算机基础知识在线测试答案-20210514014539.doc-原创力文档...
  13. 【C语言习题】两素数之差为2,则称该两素数为双胞胎数。求出[2,300]内双胞胎数。
  14. 肖邦夜曲21_听肖邦最后两首夜曲(遗作,第20、21号)
  15. 来广州的第一天面试总结2018.4.16
  16. QCC51XX---Earbud peer pair与handset pair
  17. 你知道如何识别图片吗?
  18. 三体模拟器(nodejs)
  19. 计算机的主要性能指标
  20. Allegro 封装规范命名的重要性,切身体会!!

热门文章

  1. 可解释性神经网络——2.添加约束的xNN
  2. 他俩很般配应该这么说
  3. 关于MODIS数据说明及简单处理
  4. 【BOOST C++字串专题11】Boost.Spirit(二)
  5. JAVA-@Primary的常用方式
  6. 基础2-用卷积神经网络进行颅内和头皮脑电图数据分析的广义癫痫预测
  7. java五位随机验证码的实现。要求前四位是随机大小写的字母,最后一位是数字的组合。例如qWrY4
  8. 中国的各地节日美食都又哪些
  9. html打印预览 分页,有分页功能的WEB打印_js
  10. maven的下载安装与卸载