整理Java基础知识--数组2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整理Java基础知识--数组2相关的知识,希望对你有一定的参考价值。
数组作为函数的参数
数组作为函数的返回值
class A{
public static int[] backarr(int[] arr){
int[] resultarr = new int[arr.length];
for (int i = 0,j=resultarr.length-1; i < arr.length; i++,j--) {
resultarr[j] = arr[i];
}
return resultarr;
}
}
public class TestArr2{
public static void main(String[] args){
int[] arr = {1,2,3,4,5,6,7,8,9};
for(int i:arr){
System.out.print(i + " ");
}
System.out.println(" ");
arr = A.backarr(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
}
输出结果:
1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1
arr数组既作为参数 又作为返回值!!!
多维数组
String str[][] =new String[3][4];理解:3行4列的矩阵
1.多维数组的初始化 格式:
type arrayName = new type[arraylength1][arraylength2];
int arr[][] =new int[3][4];
2.从最高维开始分别为每一维分配内存
Sting str[][] = new String[2[];声明二维数组str:两行 列数待定
arr[0] = new String[2];确定第一行含有2个元素
arr[1] = new String[3];确定第二行含有3个元素
数组结构 = {{"E1", "E2"}, {"E1", "E2", "E3"}}
Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的
1.给数组赋值 通过file方法
2.对数组排序 通过sort 方法 按升序
3.比较数组 通过equals 方法比较数组中元素值是否相等
4.查找数组元素 通过binarySearch 方法能对排序好的数组进行二分查找法操作
方法 | 说明 |
---|---|
public static void fill(int[] a, int val) | 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。 |
public static void sort(Object[] a) | 对指定对象数组根据其元素的自然顺序进行升序排列 |
public static boolean equals(long[] a, long[] a2) | 如果两个指定的 long 型数组彼此相等,则返回 true。 |
public static int binarySearch(Object[] a, Object key) | 用二分查找算法在给定数组中搜索给定值的对象 |
import java.util.Arrays;
public class TestArr2 {
public static void output(int[] array) {
if (array != null) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
System.out.println();
}
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.fill(arr, 5);//填充数组
TestArr2.output(arr);
Arrays.fill(arr, 2, 4, 8);// 将数组的第2和第3个元素赋值为8
TestArr2.output(arr);
int[] arr1 = { 7, 8, 3, 2, 9, 6, 1, 5, 4 };
Arrays.sort(arr1, 2, 7);// 对数组的第2个到第6个进行排序进行排序
TestArr2.output(arr1);
Arrays.sort(arr1);// 对整个数组进行排序
TestArr2.output(arr1);
System.out.println(Arrays.equals(arr, arr1));// 比较数组元素是否相等
int[] arr2 = arr1.clone();//克隆
System.out.println(Arrays.equals(arr1, arr2));
Arrays.sort(arr1);// 必须先排序好,否则会报错
System.out.println(Arrays.binarySearch(arr1, 3));//二分搜索算法查找指定元素3所在的下标
System.out.println(Arrays.binarySearch(arr1, 10));// 如果不存在就返回负数
}
}
输出结果:
5 5 5 5 5
5 5 8 8 5
7 8 1 2 3 6 9 5 4
1 2 3 4 5 6 7 8 9
false
true
2
-10
以上是关于整理Java基础知识--数组2的主要内容,如果未能解决你的问题,请参考以下文章