数组是相同类型数据的有序集合。每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。
1.dataType[] arrayRefVar = new dataType[arraySiza];
2.数组元素通过索引访问,索引从0开始。
3.获取数组长度:arrays.length
attention:
1.数组的长度是固定的。
2.同一个数组的元素类型必须相同。
3.数组中的元素可以是任意类型
1.静态初始化
例:int[] a = {1,2,3};
2.动态初始化
int[] a = new int[2];
a[0]=1;a[1]=2;
3.默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
1.For-Each循环
2.数组作方法入参
3.数组作返回值
public class arrays1 {
public static void main(String[] args) {
//for方法
int[] array = {1,2,3,4};
for(int i=1;i<=array.length;i++){
System.out.println(i);
}
?
//for-each循环
for(int i:array){
System.out.println(i);
}
?
int[] d=new int[4];
arrays1 c = new arrays1();
d=c.reverse(array);
for(int i:d){
System.out.println(i);
}
}
//反转数组方法
public int[] reverse(int[] a){
int[] b = new int[a.length];
for(int i=0;i<a.length;i++){
b[i]=a[3-i];
}
return b;
}
}
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
二维数组,例:
int[][] a = new int[2][2];
int[][] b={{1,2},{2,3}};
数组的工具类:java.util.Arrays,可以在里面查看工具用法。
使用工具效果如下:
import java.util.Arrays;
?
public class arrays2 {
public static void main(String[] args) {
int[] a = {1,54,657,54};
Arrays.sort(a);
System.out.println(a);
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
//结果如下:
//[I@16b98e56
//[1, 54, 657, 54]
// [1, 54, 54, 657]
?
}
时间复杂度为:O(n2).
1.比较数组中,两个相等元素,如果第一个元素大于第二个元素,交换位置。
2.每一次比较,在本程序中会产生一个最大的数字。
3.下一轮可以少一次排序
4.依次循环,直到结束。
package Exps;
?
import java.util.Arrays;
?
public class queue {
public static void main(String[] args) {
int[] a={432,65,324,765,34};
queue q = new queue();
a=q.sort(a);
System.out.println(Arrays.toString(a));
}
public int[] sort(int[] a){
int temp;
//两两比较,比较次数比数组长度少一
for(int i=0;i<a.length-1;i++){
//每一轮循环都选出一个最大,所以就减少一次循环
for(int j=0;j<a.length-1;j++){
if(a[j+1]<a[j]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
return a;
}
}
原文:https://www.cnblogs.com/carol-YeXiao/p/14460647.html