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));

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

(0)

相关推荐

  • java Arrays工具类实例详解

    Arrays工具类属于java中常用的工具类 public static void sort(int[] a) public static void sort(int[] a,int fromIndex, int toIndex) public static void sort(long[] a) public static void sort(long[] a,int fromIndex, int toIndex) public static void sort(short[] a) publ

  • Java Arrays工具类用法详解

    本文实例讲述了Java Arrays工具类用法.分享给大家供大家参考,具体如下: Arrays类 功能描述 Arrays类是一个工具类,其中包含了数组操作的很多方法,比如搜索和排序: Arrays类中的方法均为static修饰的,可以直接通过Arrays.xxx(xxx)的形式调用方法. 几个重要方法   1.asList(T... a) 由给定的数组a,返回一个固定大小的List对象.在这里,着重解释一下前面这句话的深层含义,我们可以看Arrays类的源码,来帮助我们理解. 生成的List对象

  • 浅谈java中的一维数组、二维数组、三维数组、多维数组

    这个数组可以看做新手学习,从一维数组 到 多维 数组 循环渐进,其实看起也很简单,一看便知,众所周知,一维.二维或许经常用到,用到二维以上应该就很少了. public class test { public static void main(String[] args) { /*一维数组*/ int num[] = {0,1,2}; /*下面输出 3 行数据,0 ~ 2*/ for (int i = 0; i < num.length; i++) { System.out.println("

  • java数组及arrays类对数组的操作实例

    数组的初始化有两种方式 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度.如: int[] a1 = new int[] {1,2,3,4}; 动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值.如: int[] a = new int[5]; 写一个类测试一下 package chenlizhi; import java.util.Arrays; public class TestArrays { public static void main(S

  • Java中Arrays类与Math类详解

    Arrays(数组工具类) Java中已经封装好的类,提供大量静态方法供用户对数组的使用. 导包:import java.util.Arrays 1.Arrays.toString(数组) //返回值是一个[]括起来的字符串,将数组中的元素放入[]中 int[] arr=new int[]{1,2,3,4}; String str=Arrays.toString(arr); System.out.println(str); -------------------------------- [1,

  • Java数组高级算法与Arrays类常见操作小结【排序、查找】

    本文实例讲述了Java数组高级算法与Arrays类常见操作.分享给大家供大家参考,具体如下: 冒泡排序 冒泡排序原理 冒泡排序代码: package cn.itcast_01; /* * 数组排序之冒泡排序: * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ public class ArrayDemo { public static void main(String[] args) { // 定义一个数组 int[] arr = { 24, 69, 80, 57,

  • 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",&quo

  • Java map存放数组并取出值代码详解

    获取map的值主要有四种方法,这四种方法又分为两类,一类是调用map.keySet()方法来获取key和value的值,另一类则是通过map.entrySet()方法来取值,两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次,对于那种性能更好,我觉得还是用map.entrySet()更好一点,具体请参见map.keySet()和map.EntrySet()的比较,接下

  • 基于python 二维数组及画图的实例详解

    1.二维数组取值 注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型 #二维数组 import numpy as np list1=[[1.73,1.68,1.71,1.89,1.78], [54.4,59.2,63.6,88.4,68.7]] list3=[1.73,1.68,1.71,1.89,1.78] list4=[54.4,59.2,63.6,88.4,68.7] list5=np.array([1.73,1.68,1.71,1.89,1.78])

  • JS前端二维数组生成树形结构示例详解

    目录 问题描述 实现步骤 完整代码 问题描述 前端在构建国家的省市区结构时,接口返回的不是树形结构,这个时候就需要我们进行转化.以下数据为例 [ [ { "districtId": 1586533852834, "parentCode": "000", "nodeCode": "000001", "name": "浙江省", "districtType&qu

  • Java实现的数组去重与排序操作详解

    本文实例讲述了Java实现的数组去重与排序操作.分享给大家供大家参考,具体如下: 这里演示Java实现数组去重.排序操作 文中的示例源码编写基于Jdk1.6+.junit4.8.2 java.util.Arrays.sort() 支持对int[],long[],short[],char[],byte[],float[],double[],Object[]进行排序 参考示例代码片段如下 // 声明int 数组,并初始化 int[] intArry = {5,4,7,8,2,0,1,9,3,6,10

  • 探讨php中遍历二维数组的几种方法详解

    在PHP应用当中,二维数组的应用算是高频率的了,尤其遇到较为复杂的计算时,基本上都要用到二维或者多维数组的,而在编历多维数组使用的较多的应该是 for 循环遍历和 foreach 遍历两个函数了,其中没什么特殊要求的话,基本上都是在使用 foreach 遍历函数,当然,我们可以通过这两个遍历函数来组合成各种各样的输出方式. 还是老样子,一直在使用,从来未记住,简单的遍历输出还是较为简单的,下面是两个在PHP中遍历二维函数的代码片段,如下.. 使用for循环遍历 <?PHP //使用for循环遍历

  • java 实现随机数组输出及求和实例详解

    java 实现随机数组输出及求和 问题描述: 随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路: 使用java.util中的Random类来获取随机数,存入数组后,定义一个String类的对象result,利用for循环存储要输出的数组内容到result并且求和:再利用javax.swing中的JoptionPane类创建消息框进行结果输出. 源代码: import java.util.*; import javax.swing.

  • Java二维数组与动态数组ArrayList类详解

    Java二维数组 Java 语言中提供的数组是用来存储固定大小的同类型元素. 1.二维数组初始化和声明 数组变量的声明,和创建数组可以用一条语句完成,如下所示: int a[][] = new int[2][3]; int[][] arr = {{1,2,3},{4,5,6},{7,8,9}}; 2.二维数组遍历 //遍历二维数组 public class Traverse_a_two_dimensional_array { public static void main(String[] ar

  • Java二维数组简单定义与使用方法示例

    本文实例讲述了Java二维数组简单定义与使用方法.分享给大家供大家参考,具体如下: Java的二维数组是先创建一个一维数组,然后该数组的元素再引用另外一个一维数组.在使用二维数组的时候,通过两个中括号[]来访问每一层维度的引用,直到访问到最终的数据. public class MultiDimArray{ /** * @param args */ public static void main(String[] args) { int[][] arr = new int[3][]; arr[0]

  • C#和Java中二维数组区别分析

    本文实例讲述了C#和Java中二维数组区别,分享给大家供大家参考.具体分析如下: 在Java中使用二维数组可以如下代码: 复制代码 代码如下: public class Array2D{     public static void main(String[] args){         int myInt[][]=new int[5][10];         //遍历,给数组中的每一个数组赋值         for(int i=0;i<myInt.length;i++){        

随机推荐