Java多维数组和Arrays类方法总结详解

 更新时间:2020年03月18日 13:41:14   作者:Dream0000  
这篇文章主要介绍了Java多维数组和Arrays类方法总结详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一.数组的三种声明方式总结

public class WhatEver {
  public static void main(String[] args) {
    //第一种  例:
    String[] test1 = new String[6];
    test1[0] = "数组0";
    test1[1] = "数组1";
 
 
    //第二种 例:
    String[] test2 = {"数组0","数组1","数组2","...."};
 
    //第三种 例:
    String[] test3 = new String[]{"数组0","数组1","数组2","...."};
  }
}<br><br>

二.多维数组的遍历/二维数组

/二维数组
public class Test1 {
  public static void main(String[] args) {
    int[] score1=new int[10];
    int[][] score2;
    String[][] names;
    //二维数组的初始化
    score2=new int[][]{{1,2,3},{3,4,5,6},{16,7}};//静态初始化
    names=new String[6][5];//动态初始化方式一
    names=new String[6][];//动态初始化方式二,一定要设置行数
    names[0]=new String[5];//第一行中有5个元素
    names[1]=new String[4];
    names[2]=new String[7];
    names[3]=new String[5];
    names[4]=new String[8];
    names[5]=new String[5];
    System.out.println("第一行中的元素:"+names[1].length);
    System.out.println(names.length);//打印的是二维数组有几行
 
    //如何遍历二维数组
    for(int m=0;m<score2.length;m++){//控制行数
      for(int n=0;n<score2[m].length;n++){//一行中有多少个元素(即多少列)
        System.out.print(score2[m][n]+" ");
      }
      System.out.println();
    }
  }
}

三. Arrays类的常用方法总结

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。

3.1 asList()方法

返回一个受指定数组支持的固定大小的列表。

此方法还提供了一个创建固定长度(不可修改的数组 同singletonList)的列表的便捷方法,该列表被初始化为包含多个元素:

List stooges = Arrays.asList("Larry", "Moe", "Curly");

 @SafeVarargs
 public static <T> List<T> asList(T... a) {
 return new ArrayList<>(a);
 }

使用该方法可以返回一个固定大小的List,如

 List<String> stringList = Arrays.asList("Welcome", "To", "Java",
 "World!");
 List<Integer> intList = Arrays.asList(1, 2, 3, 4);

3.2 copyOf()及copyOfRange方法

copyOf(int[] original, int newLength)
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。

copyOfRange(int[] original, int from, int to)
将指定数组的指定范围复制到一个新数组。

 String[] names2 = { "Eric", "John", "Alan", "Liz" };
   //[Eric, John, Alan]
  String[] copy = Arrays.copyOf(names2, 3);
  
  //[Alan, Liz]
   String[] rangeCopy = Arrays.copyOfRange(names2, 2,
     names2.length);

3.3 sort()方法:对数组排序

 String[] names = { "Liz", "John", "Eric", "Alan" };
 //只排序前两个
 //[John, Liz, Eric, Alan]
 Arrays.sort(names, 0, 2);
 //全部排序
 //[Alan, Eric, John, Liz]
 Arrays.sort(names);

另外,Arrays的sort方法也可以结合比较器,完成更加复杂的排序。

 public static <T> void sort(T[] a, Comparator<? super T> c) {
     if (LegacyMergeSort.userRequested)
       legacyMergeSort(a, c);
     else
       TimSort.sort(a, c);
   }

返回指定数组内容的字符串表示形式。

String[] arg = {"a", "b", "c", "d"};
 // 结果 [a, b, c, d]
System.out.print(Arrays.toString(arg));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Intellij IDEA 旗舰版创建 Spring MVC 项目踩过的坑

    Intellij IDEA 旗舰版创建 Spring MVC 项目踩过的坑

    IDEA旗舰版可以直接创建Spring MVC项目,但创建后的项目并不是直接就可以运行,还需要进行一些配置。这篇文章主要介绍了Intellij IDEA 旗舰版创建 Spring MVC 项目踩坑记 ,需要的朋友可以参考下
    2020-03-03
  • Java打开浏览器访问指定页面的实现方法

    Java打开浏览器访问指定页面的实现方法

    在开发Java应用程序时,有时需要从程序中启动默认的Web浏览器并访问特定的网页,这在实现帮助文档链接、用户指南或在线资源导航等功能时非常有用,本文将介绍如何使用Java代码来实现这一功能,需要的朋友可以参考下
    2025-01-01
  • 使用Java实现查看线程的运行状态(附源码)

    使用Java实现查看线程的运行状态(附源码)

    在现代 Java 应用中,线程的运行状态对于排查问题和优化性能具有至关重要的作用,本文将使用Java编写一个查看线程运行状态的工具,有需要的可以了解下
    2025-03-03
  • 基于ComponentScan注解的扫描范围及源码解析

    基于ComponentScan注解的扫描范围及源码解析

    这篇文章主要介绍了基于ComponentScan注解的扫描范围及源码解析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • SpringBoot中实现异步调用@Async详解

    SpringBoot中实现异步调用@Async详解

    这篇文章主要介绍了SpringBoot中实现异步调用@Async详解,在SpringBoot的日常开发中,一般都是同步调用的,但实际中有很多场景非常适合使用异步来处理,需要的朋友可以参考下
    2024-01-01
  • java中Calendar类用法实例详解

    java中Calendar类用法实例详解

    这篇文章主要介绍了java中Calendar类用法,结合实例形式较为详细的分析了Calendar类的函数、方法功能与相关使用技巧,需要的朋友可以参考下
    2017-10-10
  • SpringBoot前后端交互、全局异常处理之后端异常信息抛到前端显示弹窗

    SpringBoot前后端交互、全局异常处理之后端异常信息抛到前端显示弹窗

    Spring Boot是一个用于构建独立的、基于生产级别的Spring应用程序的框架,下面这篇文章主要给大家介绍了关于SpringBoot前后端交互、全局异常处理之后端异常信息抛到前端显示弹窗的相关资料,需要的朋友可以参考下
    2024-08-08
  • Spring控制bean加载顺序使用详解

    Spring控制bean加载顺序使用详解

    在使用spring框架开发过程中,我们可能会遇到某个bean被另一个bean依赖,也就是bean-b的创建必须依赖bean-a等问题,类似这样的场景还有很多,总结来说,这就涉及到bean的加载顺序问题,如何解决呢,本文将给大家列举出几种常用的解决方案,需要的朋友可以参考下
    2023-09-09
  • Java Collections类操作集合详解

    Java Collections类操作集合详解

    这篇文章主要介绍了Java Collections类操作集合详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Flutter验证码输入框的2种方法实现

    Flutter验证码输入框的2种方法实现

    本文主要介绍了Flutter验证码输入框的2种方法实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12

最新评论