欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-08 14:15:10
...

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()方法