数组的基本方法

数组可以存放多个数据,多个数据类型要统一
数组格式:
格式一:常用写法
数组类型[] 数组名称 = new 数据类型[数组长度];
格式二:蛋疼写法
数组类型[] 数组名称;
数组名称 = new 数组类型[数组长度];
静态初始化数组格式:
格式一:常用写法
数组类型[] 数组名称 = new 数据类型[]{数值,数值,数值};
格式二:蛋疼写法
数组类型[] 数组名称;
数组名称 = new 数组类型[]{数值,数值,数值};
快速初始化数组格式(静态初始化数组的省略写法):
数组类型[] 数组名称 = {数值,数值,数值,数值,数值,数值,数值};
当你打印数组对象时返回的对象意思如下:
[代表当前数据是数组 + 数据类型 + @数字代表的是地址值(的哈希值)
数组动态初始化的时候默认会被赋予一个默认值
整数数组默认赋予0
浮点数组默认赋予0.0
字符串或其他引用数组类型默认赋予null
布尔数组默认赋予false
常见报错信息java.lang.ArrayIndexOutOfBoundsException
表示数组越界也就是超出了范围
来看下面的实例:
 import java.util.Arrays;

 public class ListFunc {
public static void main(String[] args){
//动态数组初始化
int[] array1 = new int[3];
float[] array2 = new float[3];
String[] array3;
array3 = new String[3];
boolean[] array4 = new boolean[1];
System.out.println("array1="+array1[0]+" "+array1[1]+" "+array1[2]);
System.out.println("array2="+array2[0]+" "+array2[1]+" "+array2[2]);
System.out.println("array3="+array3[0]+" "+array3[1]+" "+array3[2]);
System.out.println("array4="+array4[0]); //静态数组初始化
int[] list1 = new int[]{1,2,3};
float[] list2 = new float[]{1.0f,2.0f,3.0f};
String[] list3;
list3 = new String[]{"abc","bcd","def"};
System.out.println("list1="+list1[0]+" "+list1[1]+" "+list1[2]);
System.out.println("list2="+list2[0]+" "+list2[1]+" "+list2[2]);
System.out.println("list3="+list3[0]+" "+list3[1]+" "+list3[2]); //快速数组初始化并统计长度
int[] lists = {1,2,3,4,5,7,8,8,9,9,0,0,123,21,32,43,534,20};
System.out.println("lists映射地址="+lists);
System.out.println("lists的长度="+lists.length);
int[] lists2 = lists.clone(); //对已有的数据对象克隆并生成了新的地址空间
System.out.println("clone映射地址="+lists.clone());
System.out.println("克隆数组方法="+Arrays.toString(lists2));
System.out.println("hashCode="+lists.hashCode()); //生成对应的哈希值 //Arrays.toString方法直接可以转换数组快速变成可阅读模式
// 使用此方法前需要import java.util.Arrays;
int[] array5 = {1,2,3,4,5,6};
String str = Arrays.toString(array5);
System.out.println("array5="+str); String[] list5 = {"a","b","c"};
String[] list6 = {"a","b","c"};
//判断两个数组是否相等/相同
System.out.println("Arrays-equals="+Arrays.equals(list5,list6));
//生成哈希值
System.out.println("Arrays-hashCode="+Arrays.hashCode(list6));
//搜索数组的对象的下标位置(字符串不能用)
System.out.println("Arrays-binarySearch="+Arrays.binarySearch(array5,2));
//从数组的首位截取对应长度生成新数组
System.out.println("Arrays-copyOf="+Arrays.toString(Arrays.copyOf(array5,2)));
//从数组指定范围截取生成新数组
System.out.println("Arrays-copyOfRange="+Arrays.toString(Arrays.copyOfRange(array5,4,6))); int[] array6 = {6,7,8,5,4,3,2,1};
int[] array7 = array6.clone();
//对数组从小到大排序
Arrays.sort(array6);
System.out.println("Arrays-sort="+Arrays.toString(array6));
//同上方法一样也是排序
Arrays.parallelSort(array7);
System.out.println("Arrays-parallelSort="+Arrays.toString(array7));
//对数组全部填充定义的值
Arrays.fill(array6,10);
System.out.println("Arrays-fill="+Arrays.toString(array6)); //对下标的数利用生成器生成对应新的序列
int[] array9 = new int[10];
Arrays.setAll(array9,x->x*2);
System.out.println("Arrays-setAll="+Arrays.toString(array9));
//可使用表达式循环输出
int[] array8 = {8,88,888};
Arrays.stream(array8).forEach(i->System.out.println("stream-forEach="+i));
//判断列表是否为空
System.out.println("Arrays-asList-isEmpty="+Arrays.asList(list5).isEmpty());
}
}

对应输出结果如下图:

 

JAVA数组的基本方法的更多相关文章

  1. Java数组定义及方法

    数组的描述   在数组中每个元素都具有相同的数据类型,是有序数据的集合.通俗的说数组就相当于一个容器.数组分为一维数组.二维数组和多维数组. 数组的特点: 数组类型是从抽象基类 Array 派生的引用 ...

  2. JAVA数组的toString()方法不能直接输出数组内容?

    问题描述:我定义了一个类,类名是Job,当我输出Job.toString()是可以按我重载的toString方法输出的,但是如果输出jobs[]这个数组时,只会输出[Lmodel.Job;@45e22 ...

  3. java 数组中的方法

    //要import java.util.Arrays: fill(int[] a,int value);//对a数组进行全部用value填充 fill(int[] a,int fromIndex,in ...

  4. Java数组List换算方法

    1.List转换到一个数组.(这里List它是实体是ArrayList) 调用ArrayList的toArray方法. toArray public <T> T[] toArray(T[] ...

  5. Java数组去重的方法

    //第一种方式:最开始想到的是利用Set集合的不可重复性进行元素过滤 public static Object[] oneClear(Object[] arr){  Set set = new Has ...

  6. java 数组遍历(方法内部的代码)

    //数组遍历(依次输出数组中的每一个元素)二维数组: int[][] arr={{1,2},{3,4,5},{6,7}}; for(int i=0;i<arr.length;i++){ for( ...

  7. java - 数组与String的length方法问题

    java数组没有length()方法,java数组有length属性: String有length()方法.

  8. java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解

    public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...

  9. JAVA中文件与Byte数组相互转换的方法

    JAVA中文件与Byte数组相互转换的方法,如下: public class FileUtil { //将文件转换成Byte数组 public static byte[] getBytesByFile ...

随机推荐

  1. ListCtrl 控件数据动态改动

    參考文章:ListCtrl 控件数据动态改动 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDIzNjU1MA==/font/5a6L5L2T/f ...

  2. [React] Use React Fragments to make your DOM tree cleaner

    In this lesson, we will look at Fragments and how they are useful in achieving a cleaner DOM structu ...

  3. [Test] Easy automated testing in NodeJS with TestCafe

    Quickly get up and running with sensible automated testing scenarios written in ES6. Installing and ...

  4. 6.5.2 C# 中的函数组合

    6.5.2 C# 中的函数组合 C# 中的函数组合是可能的.但使用非常有限,这是部分是由于在 C# 中散应用不能非常easy使用.但更重要的是,由于大多数操作是用成员来写的.而不是函数.但我们至少能够 ...

  5. JBOSS部署项目之后,无法通过IP地址訪问,仅仅能通过localhost或者127.0.0.1訪问

    这几天入职到了一家新的公司,然后第一天就開始搭建各种环境.由于原先一直用的是Tomcat容器,然后也是第一次接触JBOSS容器,搭建完之后,在MyEclipse中启动了JBOSS容器,然后想在浏览器中 ...

  6. 好记性不如烂笔头86-spring3学习(7)-ApplicationContext中bean的生命周期

    假设使用ApplicationContext来生成.管理Bean, 一个Bean从建立到销毁,会历经几个运行阶段. 我个人理解一般的bean的生命周期主要包含:建立,初始化,使用阶段,销毁四个核心阶段 ...

  7. BZOJ1468: Tree & BZOJ3365: [Usaco2004 Feb]Distance Statistics 路程统计

    [传送门:BZOJ1468&BZOJ3365] 简要题意: 给出一棵n个点的树,和每条边的边权,求出有多少个点对的距离<=k 题解: 点分治模板题 点分治的主要步骤: 1.首先选取一个点 ...

  8. Android JNI和NDK学习(09)--JNI实例二 传递类对象

    1 应用层代码 NdkParam.java是JNI函数的调用类,它的代码如下:   package com.skywang.ndk; import android.app.Activity; impo ...

  9. m_Orchestrate learning system---二十三、如何搜索概念图插件

    m_Orchestrate learning system---二十三.如何搜索概念图插件 一.总结 一句话总结:要在百度你们搜索前端组件,前端组件  概念图工具,js概念图工具等等这些 用的话用go ...

  10. mysql创建新用户时 连接报错 (解决方案把匿名用户删除)

    ERROR (): Access denied for user 'ljcc'@'localhost' (using password: YES) 步骤 创建了mysql的用户 insert mysq ...