虽然微不足道但是很有用的JAVA基础—数组

本文详细介绍了数组的概念,包括一维数组与二维数组的定义、初始化方式、数据的设置与获取方法,并通过实例展示了如何操作这些数组。

一维数组:

  1. 数组的概念:数组就是用来存放一组数的容器,这个数可以是某一个具体的值,也可以是某种数据类型。

——初始化

1) 元素类型[] 数组名  =  new 元素类型[数组长度]  

2) 元素类型[] 数组名  =  {元素1,元素2,···,元素n}  

3) 元素类型[] 数组名  =  new int[]{元素1,元素2,···,元素n}  

注意:元素1—>元素n是同一种元素类型

——设置以及获取数据

设置数组数据可以用  **数组名[下标] = 值** 的方式,一般都会使用for循环对数组进行填充。
获取数组数据也可以用 **数组名[下标]** 的方式进行数据获取,同样也可以使用for循环的方式进行数据批量获取 。
    举个栗子:
//声明 十个元素大小的一维数组a
int[] a = new int[10];
//批量填充数据
for(int i = 0 ;i<a.length;i++){
    a[i] = i;
}
//批量获取数据
for(int j = 0 ;j<a.length;j++){
    System.out.print(a[j]+"\t");
}
//输出的内容应该是 0    1   2   3   4   5   6   7   8   9

注:
1.第一种方式只是声明了一个一维数组并没有具体的元素在其中,后两种方式是在声明一个数组的同时为数组赋值。
2.数组一旦确定,就无法动态的改变其大小,如new int[10],那么只能存在10个int类型的数据,多了就会报数组越界异常,如果不够十个数,那么其余空白的位置都会默认为0(int数据类型下,其他数据类型,可以自行尝试)。

二维数组
二维数组概念:二维数组即一维数组中存放的数据也是一个一维数组,怎么理解呢,就比如一位数组是一个盒子里装了有限个物品,而二维数组是一个大盒子里装有了有限个小盒子,小盒子中又装了其他的物品。

——初始化

 1) 元素类型[][] 数组名  = new 元素类型[外层数组长度][内层数组长度]

 2) 元素类型[][] 数组名  = {{a,b,c},{a,b,c},···,{a,b,c}}

——设置及获取数据

单独的设置数据可以是 
元素名[0][0] = 值,元素名[0][1] = 值 直到 元素名[0][n] = 值。
元素名[1][0] = 值,元素名[1][1] = 值 直到 元素名[1][n] = 值。
                    ·
                    ·
                    ·
元素名[n][0] = 值,元素名[n][1] = 值 直到 元素名[n][n] = 值。

单独的赋值比较麻烦,一般也是选用for循环嵌套进行循环赋值。
举个栗子
int[][] a = new int[10][10];
int x = 0;
//循环设置数组的值
for(int i = 0;i<a.length;i++){
    for(int j = 0;j<a[i].length;j++){
        a[i][j] = x;
        x++;
    }
}
//循环输出来查看
for(int i = 0;i<a.length;i++){
    for(int j = 0;j<a[i].length;j++){
        System.out.print(a[i][j]+"\t");
    }
}
//输出的结果应该是0-99
### Java 实现找到数组中的最小值 在 Java 中,可以通过遍历数组并比较其中的元素来找到最小值。以下是基于站内引用的内容以及标准实践的一种实现方式: #### 使用循环手动查找最小值 这种方法通过初始化一个变量 `min` 来保存当前已知的最小值,并逐步迭代整个数组以更新该变量。 ```java public class ArrayUtil { public static int findMin(int[] arr) { if (arr == null || arr.length == 0) { throw new IllegalArgumentException("数组不能为空"); } // 初始化最小值为第一个元素 int min = arr[0]; // 遍历数组,逐个比较 for (int i = 1; i < arr.length; i++) { if (arr[i] < min) { min = arr[i]; // 更新最小值 } } return min; } public static void main(String[] args) { int[] array = {30, 70, -900, 9, 60}; int minValue = findMin(array); System.out.println("数组中的最小值是:" + minValue); // 输出 -900 } } ``` 上述代码展示了如何定义一个静态方法 `findMin`,它接受一个整数类型的数组作为参数,并返回数组中的最小值[^1]。如果输入数组为空,则抛出异常以防止错误处理[^2]。 #### 使用内置工具类 `Collections` 另一种更简洁的方式是利用 Java 的集合框架中的 `Collections.min()` 方法。不过需要注意的是,此方法适用于 `List` 而不是原始数组。因此需要先将数组转换成列表形式。 ```java import java.util.Arrays; import java.util.Collections; import java.util.List; public class MinValueWithCollections { public static Integer findMinUsingCollections(Integer[] arr) { if (arr == null || arr.length == 0) { throw new IllegalArgumentException("数组不能为空"); } List<Integer> list = Arrays.asList(arr); // 将数组转为列表 return Collections.min(list); // 返回最小值 } public static void main(String[] args) { Integer[] array = {30, 70, -900, 9, 60}; Integer minValue = findMinUsingCollections(array); System.out.println("数组中的最小值是:" + minValue); // 输出 -900 } } ``` 这里使用了泛型支持的对象类型 (`Integer`) 而非原生数据类型 (`int`),因为 `Collections.min()` 不支持基本数据类型的操作[^4]。 --- #### 性能对比 对于小型或中型数组而言,两种方法性能差异不大;但对于非常大的数组或者频繁调用的情况下,手写循环可能稍微优于依赖于额外封装层的方法(如 `Collections.min()`)。然而,在开发过程中应优先考虑代码可读性和维护性而非微不足道的效率提升[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值