Java基础知识回顾第一篇 - 数组和List之间的相互转换 | 二分法查找 | 冒泡排序

阅读更多

1、System.arrayCopy(source,0,dest,0,x):语句的意思就是:复制源数组从下标0开始的x个元素到目标数组,从目标数组的下标0所对应的位置开始存取;

 

2、Arrays.sort(数组名)为数组排序的操作,但这个方法在java.util这个包里面,所以在用到的时候需要先将它导入;

 

3、二分查找法

package com.tu.test;

/**

 * 二分法查找

 *

 */

public class BubbleTest {

public static void main(String[] args) {

int [] arrs = {1,2,3,4,5,6,7,8};

System.out.println(BubbleTest.sort(arrs, 5));

}

 

public static int sort(int [] arrs,int value) {

int low = 0;

int high = arrs.length - 1;

 

while (low <= high) {

int middle = (low + high) / 2;

if (arrs[middle] == value) {

return middle;

}

 

if (arrs[middle] > value) {

high = middle - 1;

}

 

if (arrs[middle] < value) {

low = middle + 1;

}

}

 

return -1;

}

}

 

4、冒泡排序

package com.tu.test;

/**

 * 冒泡排序

 *

 */

public class SortTest {

public static void main(String[] args) {

int [] arrs = {1,23,2,54,4,99,100,3};

SortTest.sort(arrs);

}

 

public static void sort(int [] arrs) {

System.out.println("=====排序前=====");

for (int i = 0;i < arrs.length; i++) {

System.out.println(arrs[i]);

}

 

for (int i = 0; i < arrs.length; i++) {

for (int j = i + 1; j < arrs.length; j++) {

int temp = 0;

//交换位置

if (arrs[i] > arrs[j]) {

temp = arrs[i];

arrs[i] = arrs[j];

arrs[j] = temp;

}

}

}

 

System.out.println("=====排序后=====");

for (int i = 0;i < arrs.length; i++) {

System.out.println(arrs[i]);

}

}

}

 

注:二分法查找仅针对有序数组,如果一个数组无序,结合冒泡排序,先使数组有序,再使用二分法进行元素查找!

 

5、数组和List之间的相互转换

数组转List:Arrays.asList

List转数组:使用List的toArray()方法

你可能感兴趣的:(冒泡排序,二分法查找,Java基础)