JAVA数组的基本方法
数组的基本方法
数组可以存放多个数据,多个数据类型要统一
数组格式:
格式一:常用写法
数组类型[] 数组名称 = 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数组的基本方法的更多相关文章
- Java数组定义及方法
数组的描述 在数组中每个元素都具有相同的数据类型,是有序数据的集合.通俗的说数组就相当于一个容器.数组分为一维数组.二维数组和多维数组. 数组的特点: 数组类型是从抽象基类 Array 派生的引用 ...
- JAVA数组的toString()方法不能直接输出数组内容?
问题描述:我定义了一个类,类名是Job,当我输出Job.toString()是可以按我重载的toString方法输出的,但是如果输出jobs[]这个数组时,只会输出[Lmodel.Job;@45e22 ...
- java 数组中的方法
//要import java.util.Arrays: fill(int[] a,int value);//对a数组进行全部用value填充 fill(int[] a,int fromIndex,in ...
- Java数组List换算方法
1.List转换到一个数组.(这里List它是实体是ArrayList) 调用ArrayList的toArray方法. toArray public <T> T[] toArray(T[] ...
- Java数组去重的方法
//第一种方式:最开始想到的是利用Set集合的不可重复性进行元素过滤 public static Object[] oneClear(Object[] arr){ Set set = new Has ...
- java 数组遍历(方法内部的代码)
//数组遍历(依次输出数组中的每一个元素)二维数组: int[][] arr={{1,2},{3,4,5},{6,7}}; for(int i=0;i<arr.length;i++){ for( ...
- java - 数组与String的length方法问题
java数组没有length()方法,java数组有length属性: String有length()方法.
- 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 ...
- JAVA中文件与Byte数组相互转换的方法
JAVA中文件与Byte数组相互转换的方法,如下: public class FileUtil { //将文件转换成Byte数组 public static byte[] getBytesByFile ...
随机推荐
- ListCtrl 控件数据动态改动
參考文章:ListCtrl 控件数据动态改动 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDIzNjU1MA==/font/5a6L5L2T/f ...
- [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 ...
- [Test] Easy automated testing in NodeJS with TestCafe
Quickly get up and running with sensible automated testing scenarios written in ES6. Installing and ...
- 6.5.2 C# 中的函数组合
6.5.2 C# 中的函数组合 C# 中的函数组合是可能的.但使用非常有限,这是部分是由于在 C# 中散应用不能非常easy使用.但更重要的是,由于大多数操作是用成员来写的.而不是函数.但我们至少能够 ...
- JBOSS部署项目之后,无法通过IP地址訪问,仅仅能通过localhost或者127.0.0.1訪问
这几天入职到了一家新的公司,然后第一天就開始搭建各种环境.由于原先一直用的是Tomcat容器,然后也是第一次接触JBOSS容器,搭建完之后,在MyEclipse中启动了JBOSS容器,然后想在浏览器中 ...
- 好记性不如烂笔头86-spring3学习(7)-ApplicationContext中bean的生命周期
假设使用ApplicationContext来生成.管理Bean, 一个Bean从建立到销毁,会历经几个运行阶段. 我个人理解一般的bean的生命周期主要包含:建立,初始化,使用阶段,销毁四个核心阶段 ...
- BZOJ1468: Tree & BZOJ3365: [Usaco2004 Feb]Distance Statistics 路程统计
[传送门:BZOJ1468&BZOJ3365] 简要题意: 给出一棵n个点的树,和每条边的边权,求出有多少个点对的距离<=k 题解: 点分治模板题 点分治的主要步骤: 1.首先选取一个点 ...
- Android JNI和NDK学习(09)--JNI实例二 传递类对象
1 应用层代码 NdkParam.java是JNI函数的调用类,它的代码如下: package com.skywang.ndk; import android.app.Activity; impo ...
- m_Orchestrate learning system---二十三、如何搜索概念图插件
m_Orchestrate learning system---二十三.如何搜索概念图插件 一.总结 一句话总结:要在百度你们搜索前端组件,前端组件 概念图工具,js概念图工具等等这些 用的话用go ...
- mysql创建新用户时 连接报错 (解决方案把匿名用户删除)
ERROR (): Access denied for user 'ljcc'@'localhost' (using password: YES) 步骤 创建了mysql的用户 insert mysq ...