A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小布袋 中级黑马   /  2014-9-16 13:11  /  646 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组在实际开发中用到的很多,下面对静态数组及动态数组加以对比,以便大家明确怎么使用。
一、静态数组,即常见的以 [] 标示的数组,创建静态数组时,数组长度是固定的,静态数组做查找操作时,效率较动态数组高。静态数组存储的数据类型必须一致,而动态数组存储的数据类型是泛型,可以不一致。
应用:静态数组的常用操作有排序(冒泡排序,选择排序),找最值(有序静态数组使用二分查找法找最值)
        示例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);
}

1 个回复

倒序浏览
动态数组的应用不全,后续更新。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马