数组在实际开发中用到的很多,下面对静态数组及动态数组加以对比,以便大家明确怎么使用。
一、静态数组,即常见的以 [] 标示的数组,创建静态数组时,数组长度是固定的,静态数组做查找操作时,效率较动态数组高。静态数组存储的数据类型必须一致,而动态数组存储的数据类型是泛型,可以不一致。
应用:静态数组的常用操作有排序(冒泡排序,选择排序),找最值(有序静态数组使用二分查找法找最值)
示例1 /* 获取数组中的最大值*/
public static int getMax(int[] arr)
{
int max=arr[0];
for(int x=1;x<arr.length;x++)
{
if(arr[x]>max)
{
max=arr[x];
}
}
return max;
}
示例2 /* 获取静态数组中的最小值 */
public static int getMin(int[] arr)
{
int min=arr[0];
for(int x=1;x<arr.length;x++)
{
if(arr[x]<min)
{
min=arr[x];
}
}
return min;
}
示例3 /* 选择排序*/
public static int arraySort(int[] arr){
int temp=arr[0];
for(int x = 0 ; x<arr.length;x++){
for(int y = 0 ; y<arr.length;y++){
if(arr[x]<arr[y]){
temp=arr[y];
arr[y]=arr[x];
arr[x]=temp;
}
}
}
return temp;
}
示例4 /* 冒泡排序*/
public static int arraySort(int[] arr){
int temp=arr[0];
for(int x = 0 ; x<arr.length;x++){
for(int y = 0 ; y<arr.length-x-1;y++){
if(arr[y]>arr[y+1]){
temp=arr[y+1];
arr[y+1]=arr[y];
arr[y]=temp;
}
}
}
return temp;
}
二、动态数组:如常见的arraylist,动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小
什么情况下使用动态数组?在对数组进行增、删、修改时,常用动态数组。
示例1: 给数组增加10个int类型的元素:
ArrayList list = new ArrayList();
for(int i=0;i<10;i++){
list.Add(i);
} |
|