Java中数组详解

简介: Java中数组详解

 简介

数组是相同类型数据的有序集合,每一个数据称作一个元素,每个元素可以通过一个索引来访问

特性

1.长度确定:数组一旦被创建,它的大小就是不可以改变的

2.同一数组同一类型:同一数组其元素的类型必须是相同类型,不允许出现混合类型

3.元素不同类型:数组类型可以是任何数据类型,包括基本类型和引用类型

4.数组也是对象,数组变量属于引用类型,数组中的元素相当于对象的属性!

创建及初始化一维数组【必须指定长度】

int[] ages = new int[10];//创建数组
ages[0] = 1;//动态初始化,给数组元素赋值

image.gif

Man[] mans = {new Man(1, 1), new Man(2, 2)};// 静态初始化引用类型数组

image.gif

创建及初始化二维数组【必须指定二维长度】

int[ ][ ] a = new int[3][ ];//创建二维数组,Java中多维数组的声明和初始化应按从低维到高维的顺序进行
a[0] = new int[2];
a[1] = new int[4];
a[2] = new int[3];

image.gif

默认初始化

int[] a = new int[2]; // [0,0]
String[ ] s = new String[2]; //[null, null ]
boolean[ ] b = new boolean[2]; //[false,false]

image.gif

遍历

1.for循环

int[] a = new int[4];
for (int i = 0; i < a.length; i++) {
     System.out.println(a[i]);
}

image.gif

2.for-each

String[] ss = {"aa", "bbb", "ccc", "ddd"};
for (String temp : ss) {
      System.out.println(temp);
}

image.gif

方法

1.数组的长度

nums.length

image.gif

2.拷贝

int[] n1={1,2,3};
int[] n2=new int[8];
System.arraycopy(n1,0,n2,0,n1.length);

image.gif

3.打印内容

int[] n1={1,2,3};
System.out.println(n1);//[I@7c30a502
System.out.println(Arrays.toString(n1));//[1, 2, 3]

image.gif

4.排序

int[] n1={2,1,3};
Arrays.sort(n1);
System.out.println(Arrays.toString(n1));//[1, 2, 3]

image.gif

5.二分法查找

int[] n1={2,1,3};
Arrays.sort(n1);
System.out.println(Arrays.binarySearch(n1,3));

image.gif

6.填充

int[] n1={2,1,3};
 Arrays.fill(n1,0,2,100);//将0-1替换为100
 System.out.println(Arrays.toString(n1));//[2, 100, 3]

image.gif


相关文章
|
20天前
|
Java
环形数组链表(java)
环形数组链表(java)
10 0
|
14天前
|
存储 算法 搜索推荐
Java中的数组函数库及其使用技巧
Java中的数组函数库及其使用技巧
|
14天前
|
存储 Java 容器
Java数组的初始化方法
Java数组的初始化方法
|
13天前
|
存储 Java 索引
Java数组操作:基础与进阶指南
Java数组操作:基础与进阶指南
|
23天前
|
Java 编译器 API
Java数组(如果想知道Java中有关数组的知识点,那么只看这一篇就足够了!)
Java数组(如果想知道Java中有关数组的知识点,那么只看这一篇就足够了!)
|
6天前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
10 0
|
7天前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
14 0
|
14天前
|
Java 索引
解决Java中的数组越界异常的技术
解决Java中的数组越界异常的技术
|
14天前
|
Java
【Java】程序练习1(数组)
【Java】程序练习1(数组)
|
15天前
|
存储 算法 Java
Java中常用的数组函数及其应用场景
Java中常用的数组函数及其应用场景