Java实例-数组

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);

}

}

输出结果:

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容