Java教程

Java基础之数组

本文主要是介绍Java基础之数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数组常用方法

Arrays工具类

equals(array,array) 判断两个数组内容是否相同
toString(array) 以数值形式显示数组
stream(array) 以stream流形式表示数组

第三方库 ArrayUtils工具类

ArrayUtils.addAll(array, …T)
向数组中添加多个元素
ArrayUtils.clone(array) 克隆数组
ArrayUtils.contains(array, ele) 数组中是否包含指定的元素
ArrayUtils.get(array, index , default) 获取指定索引位置的数据、如果超出索引、取默认值
该方法只适合与 数组元素是 引用类型的数组
ArrayUtils.insert(index,array,…eles) 向指定位置添加多个元素、返回新数组
ArrayUtils.isEmpty(array) 数组是否为空
ArrayUtils.remove(array, index)删除指定索引位置的 元素
ArrayUtils.shuffle(array)随机打乱数组
ArrayUtils.subarray(array, start , end)对数组进行切片
ArrayUtils.toObject(int[] array)将 int[] 数组 转成 Integer[] 数组
ArrayUtils.toPrimitive(Integer[] array)将 Integer[] 数组 转成 int[] 数组
ArrayUtils.toString(array)以数值的形式显示数组

数组常用排序

冒泡排序

时间复杂度:O=n*(n-1)/2;
示范代码:

			int[] a={12,3,24,323,43,4,6,5,2,56,765,4567,345,34,53};
			for (int i = 0; i < a.length-1; i++) {
				for (int j = 0; j < a.length-1-i; j++) {
					if (a[j]>a[j+1]){
						a[j]^=a[j+1];
						a[j+1]^=a[j];
						a[j]^=a[j+1];
					}
				}
			}
			for (int i = 0; i < a.length; i++) {
				System.out.println(a[i]);
			}
选择排序

时间复杂度:O=n*(n-1)/2;
示范代码

			int[] a={21,23,4,56,7,65,8};
			for (int i = 0; i < a.length-1; i++) {
				for (int j = i+1; j < a.length; j++) {
					if (a[i]>a[j]){
						a[i]^=a[j];
						a[j]^=a[i];
						a[i]^=a[j];
					}
				}
			}
			for (int i = 0; i < a.length; i++) {
				System.out.println(a[i]);
			}
插入排序

示范代码

		int[] a={6,5,4,3,2,1};
        for (int i = 1; i < a.length; i++) {
            int num=a[i];
            for (int j = i-1; j >=0 ; j--) {
                if(num<a[j]){
                    a[j+1]=a[j];
                    a[j]=num;
                }else{
                    break;
                }
            }
        }
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
这篇关于Java基础之数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!