Java基础学习

Java实例-数组

2019-07-27  本文已影响0人  JWking

1、Java 实例 – 数组排序及元素查找:使用sort()方法对Java数组进行排序,使用 binarySearch() 方法来查找数组中的元素

public class Array_SortLookup {

public Array_SortLookup(){

int array[] = {2,5, -2,6, -3,8,0, -7, -9,4 };

Arrays.sort(array);

printArray("数组排序结果为", array);

int index = Arrays.binarySearch(array,2);

System.out.println("元素 2  在第 " + index +" 个位置");

}

private static void printArray(String message,int array[]) {

System.out.println(message

+": [length: " + array.length +"]");

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

if(i !=0){

System.out.print(", ");

}

System.out.print(array[i]);

}

System.out.println();

}

}

输出结果:

2、Java 实例 – 数组添加元素:使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素。

public class Array_SortAdd {

public Array_SortAdd(){

int array[] = {2,5, -2,6, -3,8,0, -7, -9,4 };

Arrays.sort(array);

printArray("数组排序", array);

int index = Arrays.binarySearch(array,1);

System.out.println("元素 1 所在位置(负数为不存在):"

                + index);

int newIndex = -index -1;

array =insertElement(array,1, newIndex);

printArray("数组添加元素 1", array);

}

private static void printArray(String message,int array[]) {

System.out.println(message

+": [length: " + array.length +"]");

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

if (i !=0){

System.out.print(", ");

}

System.out.print(array[i]);

}

System.out.println();

}

private static int[] insertElement(int original[],

int element,int index) {

int length = original.length;

int destination[] =new int[length +1];

System.arraycopy(original,0, destination,0, index);

destination[index] = element;

System.arraycopy(original, index, destination, index

+1, length - index);

return destination;

}

}

输出结果:

3、Java 实例 – 获取数组长度:使用数组的属性 length 来获取数组的长度。

public class Array_Length {

public Array_Length(){

String[][] data =new String[2][5];

System.out.println("第一维数组(垂直)长度: " + data.length);

System.out.println("第二维数组(水平)长度: " + data[0].length);

}

}

输出结果:

4、Java 实例 – 数组反转:使用 Collections.reverse(ArrayList) 将数组进行反转。

public class Array_Reverse {

public Array_Reverse(){

ArrayList arrayList =new ArrayList();

arrayList.add("A");

arrayList.add("B");

arrayList.add("C");

arrayList.add("D");

arrayList.add("E");

System.out.println("原数组排序: " + arrayList);

Collections.reverse(arrayList);

System.out.println("反转后排序: " + arrayList);

}

}

输出结果:

5、Java 实例 – 数组输出:

public class Array_Print {

public Array_Print(){

String[] arr =new String[3];

arr[0] ="功能1";

arr[1] ="功能2";

arr[2] ="功能3";

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

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

}

}

public Array_Print(String []arr){

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

System.out.print(arr[i]+"    ");

}

}

}

输出结果:

6、Java 实例 – 数组获取最大和最小值:通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值。

public class Array_MaxMin {

public Array_MaxMin(){

Integer[] numbers = {8,2,7,1,4,9,5};

int min = (int) Collections.min(Arrays.asList(numbers));

int max = (int) Collections.max(Arrays.asList(numbers));

System.out.println("最小值: " + min);

System.out.println("最大值: " + max);

}

}

输出结果:

7、Java 实例 – 数组合并:通过 List 类的 Arrays.toString () 方法和 List 类的 list.Addall(array1.asList(array2) 方法将两个数组合并为一个数组。

public class Array_Merge {

public Array_Merge(){

String a[] = {"A","E","I" };

String b[] = {"O","U" };

List list =new ArrayList(Arrays.asList(a));

list.addAll(Arrays.asList(b));

Object[] c = list.toArray();

System.out.print("数组1:");

new Array_Print(a);                     //实例5输出数组中带参数的构造方法

System.out.print("\n数组2:");

new Array_Print(b);

System.out.println("\n合并后的数组:"+Arrays.toString(c));

}

}

输出结果:

8、Java 实例 – 数组填充:通过 Java Util 类的 Arrays.fill(arrayname,value) 方法和Arrays.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充元素。

public class Array_Fill {

public Array_Fill(){

int array[] =new int[6];

Arrays.fill(array,100);

System.out.println("将数组全部填充为值100的元素:");

for (int i=0, n=array.length; i < n; i++) {

System.out.print(array[i]+"  ");

}

System.out.println("\n将数组后3个元素填充为值50的元素:");

Arrays.fill(array,3,6,50);

for (int i=0, n=array.length; i< n; i++) {

System.out.print(array[i]+"  ");

}

}

}

输出结果:

9、Java 实例 – 数组扩容:

public class Array_Extends {

public Array_Extends(){

String[] names =new String[] {"A","B","C" };

String[] extended =new String[5];

extended[3] ="D";

extended[4] ="E";

System.arraycopy(names,0, extended,0, names.length);

System.out.println("原数组:");

new Array_Print(names);//实例5输出数组中带参数的构造方法

        System.out.println("\n扩容后数组:");

new Array_Print(extended);

}

}

输出结果:

10、Java 实例 – 查找数组中的重复元素:

public class Array_CNKI {

public Array_CNKI(){

int[] my_array = {1,2,5,5,6,6,7,2,9,2};

findDupicateInArray(my_array);

}

public static void findDupicateInArray(int[] a) {

int count=0;

for(int j=0;j

for(int k =j+1;k

if(a[j]==a[k]) {

count++;

}

}

if(count==1)

System.out.println("重复元素 : " +  a[j] );

count =0;

}

}

}

输出结果:

11、Java 实例 – 删除数组元素:使用 remove () 方法来删除数组元素

public class Array_Delete {

public Array_Delete(){

ArrayList objArray =new ArrayList();

objArray.clear();

objArray.add(0,"第 0 个元素");

objArray.add(1,"第 1 个元素");

objArray.add(2,"第 2 个元素");

System.out.println("数组删除元素前:"+objArray);

objArray.remove(1);//通过键值对,按键删除

        objArray.remove("第 0 个元素");//通过键值对,按键值删除

        System.out.println("数组删除元素后:"+objArray);

}

}

输出结果:

12、Java 实例 – 数组差集:使用 removeAll () 方法来计算两个数组的差集。

public class Array_DefferenceSet {

public Array_DefferenceSet(){

ArrayList objArray =new ArrayList();

ArrayList objArray2 =new ArrayList();

objArray2.add(0,"common1");

objArray2.add(1,"common2");

objArray2.add(2,"notcommon");

objArray2.add(3,"notcommon1");

objArray.add(0,"common1");

objArray.add(1,"common2");

objArray.add(2,"notcommon2");

System.out.println("array1 的元素" +objArray);

System.out.println("array2 的元素" +objArray2);

objArray.removeAll(objArray2);

System.out.println("array1 与 array2 数组差集为:"+objArray);

}

}

输出结果:

13、Java 实例 – 数组交集:

public class Array_Mixed {

public Array_Mixed(){

ArrayList objArray =new ArrayList();

ArrayList objArray2 =new ArrayList();

objArray2.add(0,"common1");

objArray2.add(1,"common2");

objArray2.add(2,"notcommon");

objArray2.add(3,"notcommon1");

objArray.add(0,"common1");

objArray.add(1,"common2");

objArray.add(2,"notcommon2");

System.out.println("array1 数组元素:"+objArray);

System.out.println("array2 数组元素:"+objArray2);

objArray.retainAll(objArray2);

System.out.println("array2 & array1 数组交集为:"+objArray);

}

}

输出结果:

14、Java 实例 – 在数组中查找指定元素:使用 contains () 方法来查找数组中的指定元素。

public class Array_Find {

public Array_Find(){

ArrayList objArray =new ArrayList();

ArrayList objArray2 =new ArrayList();

objArray2.add(0,"common1");

objArray2.add(1,"common2");

objArray2.add(2,"notcommon");

objArray2.add(3,"notcommon1");

objArray.add(0,"common1");

objArray.add(1,"common2");

System.out.println("objArray 的数组元素:"+objArray);

System.out.println("objArray2 的数组元素:"+objArray2);

System.out.println("objArray 是否包含字符串common2? : "

                +objArray.contains("common2"));

System.out.println("objArray2 是否包含数组 objArray? :"

                +objArray2.contains(objArray) );

}

}

输出结果:

15、Java 实例 – 判断数组是否相等:使用 equals ()方法来判断数组是否相等。

public class Array_Equal {

public Array_Equal(){

int[] ary = {1,2,3,4,5,6};

int[] ary1 = {1,2,3,4,5,6};

int[] ary2 = {1,2,3,4};

System.out.println("数组 ary 是否与数组 ary1相等? :"

                +Arrays.equals(ary, ary1));

System.out.println("数组 ary 是否与数组 ary2相等? :"

                + Arrays.equals(ary, ary2));

}

}

输出结果:

16、Java 实例 - 数组并集:使用 union ()方法来计算两个数组的并集。

public class Array_Union {

public Array_Union(){

String[] arr1 = {"1","2","3" };

String[] arr2 = {"4","5","6" };

String[] result_union =union(arr1, arr2);

System.out.println("数组1的元素有:");

new Array_Print(arr1);

System.out.println("\n数组2的元素有:");

new Array_Print(arr2);

System.out.println("\n并集的结果如下:");

for (String str : result_union) {

System.out.print(str+"  ");

}

}

// 求两个字符串数组的并集,利用set的元素唯一性

    public static String[] union(String[] arr1, String[] arr2) {

Set set =new HashSet();

for (String str : arr1) {

set.add(str);

}

for (String str : arr2) {

set.add(str);

}

String[] result = {  };

return set.toArray(result);

}

}

输出结果:

上一篇下一篇

猜你喜欢

热点阅读