1.数组高级(掌握)
-
数组排序: -
冒泡排序:
相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处:
day13_Array的cn.itcast_01
-
选择排序:
从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处:
day13_Array的cn.itcast_02
-
用两种方法对字符串中的字符进行排序:
自己做的:
day13_Array_Test的cn.itcast_03
-
数组查找 -
基本查找:适用于数组元素无序(从头找到尾) //之前讲过
public static int getIndex(int[] arr,int value) { int index = -1; for(int x=0; x<arr.length; x++) { if(arr[x] == value) { index = x; break; } } return index; }
-
二分查找(折半查找):适用于数组元素有序:
day13_Array的cn.itcast_04
注意:数组无序时就不要采用二分查找了,因为数组本身是无序的,如果先排序在查找,排序时其实已经改变了最原始的元素索引
2.Arrays类
-
概述:是针对数组进行操作的工具类。包括排序和查找等功能 -
构造方法:没有构造方法(所以可知,成员方法都是静态的) -
常用的成员方法:
day13_Array的cn.itcast_05
- public static String toString(int[] a):把数组转成字符串 //任何类型数组都能转,这里以int举例
- public static void sort(int[] a):对数组进行排序 //底层是快速排序
-
public static int binarySearch(int[] a,int key):二分查找
//看源码可以发现,数组中没有要查找的元素时,返回的是-(low+1)这个值,low是最小索引 - Arrays工具类的方法源码解析
开发原则:
只要是对象,我们就要判断该对象是否为null。
版权声明:本文为weixin_44055622原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。