Java数组的基本操作方法整理

 更新时间:2015年08月21日 16:07:05   作者:selFire  
这篇文章主要介绍了Java数组的基本操作方法整理,是Java入门学习中的基础知识,需要的朋友可以参考下

数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组。下面以一维数组为例说明Java数组的用法。

1、数组声明

数组声明有如下两种形式(方括号的位置不同):

int arr[];
int[] arr2;

2、数组初始化

数组初始化也有两种形式,如下(使用new或不使用new):

int arr[] = new int[]{1, 3, 5, 7, 9};
int[] arr2 = {2, 4, 6, 8, 10};

3、遍历数组

遍历数组可用for/foreach,如下:

  public static void main(String[] args) {
    int arr[] = new int[]{1, 3, 5, 7 ,9};
    int[] arr2 = {2, 4, 6, 8, 10};
    for (int i = 0; i < arr.length; ++i) {
      System.out.print(arr[i] + "\t"); // 1 3 5 7 9
    }
    for (int x: arr2) {
      System.out.print(x + "\t"); // 2 4 6 8 10
    }
  }

4、Arrays.fill()填充数组

使用Arrays类的静态方法,需要import包java.util.Arrays,定义了许多重载方法。

void fill(int[] a, int val)全部填充 
void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素

    int[] arr3 = new int[5];
    for (int x: arr3) {
      System.out.print(x + "\t"); // 0 0 0 0 0 全部初始化为0
    }
    System.out.println();
    Arrays.fill(arr3, 10);
    for (int x: arr3) {
      System.out.print(x + "\t"); // 10 10 10 10 10 全部填充为10
    }
    System.out.println();
    Arrays.fill(arr3, 1, 3, 8);
    for (int x: arr3) {
      System.out.print(x + "\t"); // 10 8 8 10 10 填充指定索引
    }
    System.out.println();

5、Arrays.sort()对数组排序

void sort(int[] a)全部排序 
void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素

    int[] arr4 = {3, 7, 2, 1, 9};
    Arrays.sort(arr4);
    for (int x: arr4) {
      System.out.print(x + "\t"); // 1 2 3 7 9
    }
    System.out.println();
    int[] arr5 = {3, 7, 2, 1, 9};
    Arrays.sort(arr5, 1, 3);
    for (int x: arr5) {
      System.out.print(x + "\t"); // 3 2 7 1 9
    }
    System.out.println();

6、Arrays.copyOf()复制数组

int[] copyOf(int[] original, int newLength)复制数组,指定新数组长度 
int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引

    int[] arr6 = {1, 2, 3, 4, 5};
    int[] arr7 = Arrays.copyOf(arr6, 5); // 1 2 3 4 5
    int[] arr8 = Arrays.copyOfRange(arr6, 1, 3); // 2 3
    for (int x: arr7) {
      System.out.print(x + "\t");
    }
    System.out.println();
    for (int x: arr8) {
      System.out.print(x + "\t");
    }
    System.out.println();

7、检查数组中是否包含某一个值

String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
// true

先使用Arrays.asList()将Array转换成List<String>,这样就可以用动态链表的contains函数来判断元素是否包含在链表中。

8、连接两个数组

int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang library
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

ArrayUtils是Apache提供的数组处理类库,其addAll方法可以很方便地将两个数组连接成一个数组。

9、数组翻转

int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
//[5, 4, 3, 2, 1]

依然用到了万能的ArrayUtils。

10、从数组中移除一个元素

int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
System.out.println(Arrays.toString(removed));

相关文章

  • SpringBoot中读取配置的七种方法总结

    SpringBoot中读取配置的七种方法总结

    在Spring Boot应用中,读取配置是一项基础且重要的任务,Spring Boot提供了多种灵活的方式来读取配置,以满足不同场景下的需求,本文将详细介绍Spring Boot中读取配置的几种常用方法,需要的朋友可以参考下
    2024-08-08
  • Java利用EasyExcel实现导出导入功能的示例代码

    Java利用EasyExcel实现导出导入功能的示例代码

    EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。本文废话不多说,直接上手试试,用代码试试EasyExcel是否真的那么好用
    2022-11-11
  • Java Mybatis框架多表操作与注解开发详解分析

    Java Mybatis框架多表操作与注解开发详解分析

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录
    2021-10-10
  • SpringBoot整合RocketMQ实现发送同步消息

    SpringBoot整合RocketMQ实现发送同步消息

    RocketMQ 是一款开源的分布式消息中间件,由阿里巴巴开源,它具有高可用性、高性能、低延迟等特点,广泛应用于阿里巴巴集团内部以及众多外部企业的业务系统中,本文给大家介绍了SpringBoot整合RocketMQ实现发送同步消息,需要的朋友可以参考下
    2024-04-04
  • SpringBoot实现API接口多版本支持的示例代码

    SpringBoot实现API接口多版本支持的示例代码

    这篇文章主要介绍了SpringBoot实现API接口多版本支持的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Java读取网页内容并下载图片的实例

    Java读取网页内容并下载图片的实例

    这篇文章主要介绍了Java读取网页内容并下载图片的实例的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-09-09
  • Java中的volatile实现机制详细解析

    Java中的volatile实现机制详细解析

    这篇文章主要介绍了Java中的volatile实现机制详细解析,本文的主要内容就在于要理解volatile的缓存的一致性协议导致的共享变量可见性,以及volatile在解析成为汇编语言的时候对变量加锁两块理论内容,需要的朋友可以参考下
    2024-01-01
  • Springboot程序在使用Maven下载依赖时失效的解决方法

    Springboot程序在使用Maven下载依赖时失效的解决方法

    以前能成功创建SpringBoot项目并运行,但是现在再创建新项目时Maven下载依赖失败,且maven依赖刷新按键一直没反应,所以本文给大家介绍了Springboot程序在使用Maven下载依赖时失效的解决方法,需要的朋友可以参考下
    2024-05-05
  • springmvc处理模型数据Map过程解析

    springmvc处理模型数据Map过程解析

    这篇文章主要介绍了springmvc处理模型数据Map过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Ubuntu 15下安装Eclipse经验分享

    Ubuntu 15下安装Eclipse经验分享

    这篇文章主要为大家分享了Ubuntu 15下安装Eclipse经验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论