博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 数组实例
阅读量:5259 次
发布时间:2019-06-14

本文共 10774 字,大约阅读时间需要 35 分钟。

数组排序及元素查找

以下实例演示了如何使用sort()方法对Java数组进行排序,及如何使用 binarySearch() 方法来查找数组中的元素, 这边我们定义了 printArray() 方法来打印数组:

import java.util.Arrays; public class MainClass {    public static void main(String args[]) throws Exception {        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();    }}
Arrays.sort() | Arrays.binarySearch()

以上代码运行输出结果为:

数组排序结果为: [length: 10] -9, -7, -3, -2, 0, 2, 4, 5, 6, 8元素 2 在第 5 个位置
View Code

数组添加元素

以下实例演示了如何使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素, 这边我们定义了 printArray() 方法来打印数组:

import java.util.Arrays; public class MainClass {   public static void main(String args[]) throws Exception {      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;   }}
View Code

以上代码运行输出结果为:

数组排序: [length: 10] -9, -7, -3, -2, 0, 2, 4, 5, 6, 8 元素 1 所在位置(负数为不存在):-6 数组添加元素 1: [length: 11] -9, -7, -3, -2, 0, 1, 2, 4, 5, 6, 8
View Code

获取数组长度

本文我们将为大家介绍如何使用数组的属性 length 来获取数组的长度。

以下实例中我们定义了二维数组,并获取数组的长度:

public class Main {   public static void main(String args[]) {      String[][] data = new String[2][5];      System.out.println("第一维数组长度: " + data.length);      System.out.println("第二维数组长度: " + data[0].length);   }}
View Code

数组反转

以下实例中我们使用 Collections.reverse(ArrayList) 将数组进行反转:

import java.util.ArrayList;import java.util.Collections; public class Main {    public static void main(String[] args) {        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); }}
Collections.reverse(ArrayList)

数组获取最大和最小值

以下实例演示了如何通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值:

import java.util.Arrays;import java.util.Collections; public class Main {    public static void main(String[] args) {        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);    }}
View Code

数组合并

以下实例演示了如何通过 List 类的 Arrays.toString () 方法和 List 类的 list.Addall(array1.asList(array2) 方法将两个数组合并为一个数组:

import java.util.ArrayList;import java.util.Arrays;import java.util.List; public class Main {    public static void main(String args[]) {        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.println(Arrays.toString(c));    }}
View Code

数组填充

以下实例我们通过 Java Util 类的 Arrays.fill(arrayname,value) 方法和Arrays.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充元素:

import java.util.*; public class FillTest {    public static void main(String args[]) {        int array[] = new int[6];        Arrays.fill(array, 100);        for (int i=0, n=array.length; i < n; i++) {            System.out.println(array[i]);        }        System.out.println();        Arrays.fill(array, 3, 6, 50);        for (int i=0, n=array.length; i< n; i++) {            System.out.println(array[i]);        }    }}
Arrays.fill

以上代码运行输出结果为:

100100100100100100100100100505050
View Code

数组扩容

以下实例演示了如何在数组初始化后对数组进行扩容:

(   System.arraycopy(原数组名,起始下标,新数组名,起始下标,复制长度);)

public class Main {    public static void main(String[] args) {        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);        for (String str : extended){            System.out.println(str);        }    }}
View Code

查找数组中的重复元素

以下实例演示了如何在 java 中找到重复的元素:

public class MainClass {    public static void main(String[] args)     {        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
View Code

查找数组中的重复元素

以下实例演示了如何在 java 中找到重复的元素:

public class MainClass {    public static void main(String[] args)     {        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
View Code

以上代码运行输出结果为:

重复元素 : 5重复元素 : 6重复元素 : 2
View Code

删除数组元素

以下实例演示了如何使用 remove () 方法来删除数组元素:

import java.util.ArrayList; public class Main {    public static void main(String[] args)  {        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); }}
View Code

以上代码运行输出结果为:

数组删除元素前:[第 0 个元素, 第 1 个元素, 第 2 个元素]数组删除元素后:[第 2 个元素]
View Code

数组差集

以下实例演示了如何使用 removeAll () 方法来计算两个数组的差集:

import java.util.ArrayList; public class Main {    public static void main(String[] args)  {        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);    }}
View Code

以上代码运行输出结果为:

array1 的元素[common1, common2, notcommon2]array2 的元素[common1, common2, notcommon, notcommon1]array1 与 array2 数组差集为:[notcommon2]
View Code

数组交集

以下实例演示了如何使用 retainAll () 方法来计算两个数组的交集:

import java.util.ArrayList; public class Main {    public static void main(String[] args)  {        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);    }}
View Code

以上代码运行输出结果为:

array1 数组元素:[common1, common2, notcommon2]array2 数组元素:[common1, common2, notcommon, notcommon1]array2 & array1 数组交集为:[common1, common2]
View Code

在数组中查找指定元素

以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:

import java.util.ArrayList; public class Main {    public static void main(String[] args)  {        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) ); }}
View Code

以上代码运行输出结果为:

objArray 的数组元素:[common1, common2]objArray2 的数组元素:[common1, common2, notcommon, notcommon1]objArray 是否包含字符串common2? : trueobjArray2 是否包含数组 objArray? :false
View Code

判断数组是否相等

以下实例演示了如何使用 equals ()方法来判断数组是否相等:

import java.util.Arrays; public class Main {    public static void main(String[] args) throws Exception {        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));    }}
View Code

以上代码运行输出结果为:

数组 ary 是否与数组 ary1相等? :true数组 ary 是否与数组 ary2相等? :false
View Code

数组并集

以下实例演示了如何使用 union ()方法来计算两个数组的并集:

import java.util.Arrays;import java.util.HashSet;import java.util.Set;  public class Main {    public static void main(String[] args) throws Exception {        String[] arr1 = { "1", "2", "3" };        String[] arr2 = { "4", "5", "6" };        String[] result_union = union(arr1, arr2);        System.out.println("并集的结果如下:");         for (String str : result_union) {            System.out.println(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); }}
View Code

以上代码运行输出结果为:

并集的结果如下:321654
View Code

 

转载于:https://www.cnblogs.com/Mr-Feng/p/11372421.html

你可能感兴趣的文章
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
现代程序设计 作业1
查看>>
在android开发中添加外挂字体
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>
python学习笔记3-列表
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
线程androidAndroid ConditionVariable的用法
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>
socket初识
查看>>
磁盘测试工具
查看>>