java中判断两个数组是否相等,(数组元素不分顺序)

请判断这个数组中的元素是否相等

样例一

当数组 arr1 的值为 [1,2,3],数组 arr2 的值为 [2,1,3] 时,输出结果为:

The arrays arr1 and arr2 are equal.

样例二
当数组 arr1 的值为 [1,2,4],数组 arr2 的值为 [2,2,3] 时,输出结果为:

The arrays arr1 and arr2 are not equal.

运行结果,如下图

实现代码:

 

 

import java.util.Arrays;
import java.util.*;
public class cs {
    public static boolean equalityOfArrays(int[] arr1, int arr2[]) {
        System.out.println("arr2.length:"+arr2.length);
        System.out.println("arr1:"+Arrays.toString(arr1));
        System.out.println("arr2:"+Arrays.toString(arr2));
        Arrays.sort(arr1);
        Arrays.sort(arr2);
        System.out.println("排序后arr1:"+Arrays.toString(arr1));
        System.out.println("排序后arr2:"+Arrays.toString(arr2));
        System.out.println("flag1:"+arr1.equals(arr2));
        System.out.println("flag2:"+Objects.equals(arr1,arr2));
        System.out.println("flag3:"+Arrays.equals(arr1,arr2));
        return  Arrays.equals(arr1,arr2);
    }
    public static void main(String[] args) {
        int[] a= {1,2,3};
        int[] b= {2,1,3};
        boolean flag= equalityOfArrays(a,b);
        if(flag){
        System.out.print("The arrays arr1 and arr2 are equal.");
        }else{
            System.out.print("The arrays arr1 and arr2 are not equal.");
        }
    }
}

注意:

上面判断两个数组是否相等,使用的是Array.equals(arr1,arr2) !

而不是arr1.equals(arr2)或者Objects.equals(arr1,arr2),因为这两个都是返回false!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 1/29 页 1 跟我学 Java 面向对象程序设计技术及应用——应用冒泡排序算法实 现数组元素排序的 Java 程序实现示例 1.1 什么是冒泡排序算法 1.1.1 什么是冒泡排序算法 对于什么是冒泡排序算法(Bubble Sort),读者可以查询百科。在百科的定义如下(如 下示图显示具体的定义):它重复地走访过要排序的元素列,依次比较两个相邻的元素,如 果顺序(如从大到小、首字母从 Z 到 A)错误就把他们交换过来。走访元素的工作是重复地 进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 经过这样的排序后,最后的元素应该会是最大的数(当然,也可能是最小的数,取决于 数据的排序格则和要求)。因此,一批数据的较小元素会经由这样的"排序交换"慢慢"浮 (冒泡)"到这批数据的顶端(升序或降序排列) ——此排序算法由此得名。 1.1.2 冒泡排序算法的实现原理 比较两个相邻的元素,将值大的元素交换至右端。对每一对相邻的元素都完成同样的比 较工作直到最后一对,针对所有的元素都重复以上的步骤,除了最后一个元素,直到没有任 何一对数字需要进行比较为止。 因此,在程序设计实现方面,则要运用双层嵌套循环进行冒泡排序编程实现。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 2/29 页 2 1.1.3 冒泡排序算法的主要特性 -- 算法稳定性 冒泡排序其实就是把一批数据比较小的元素往前调或者把大的元素往后调,而比较是 相邻的两个元素进行比较,数据交换也只发生在这两个元素之间——两两比较、两两交换。 但如果相邻的两个元素值相等,则不会再进行交换的(减少了交换的次数)。而如果两 个元素的值相等、但元素在位置上并没有相邻,那么即使通过前面的两两交换把两个元素相 邻起来,这时候也不会对它们进行交换。所以相同元素值的两个元素的前后顺序在此算法 并没有被改变,故冒泡排序是一种稳定排序算法。 1.2 应用冒泡排序算法实现数组元素排序的 Java 程序实现示例 1.2.1 在 MyEclipse 开发工具创建 Java 工程项目 1、启动 MyEclipse 开发工具,并选择 Java Project 工程项目 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 3/29 页 3 2、在工程项目创建的对话框输入项目名称 JavaDemo,并选择项目存放的目录路径 3、点击对话框的完成(Finish)按钮,将创建出一个空的 Java 应用程序项目 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 4/29 页 4 1.2.2 在创建的 Java 应用程序项目添加示例程序类 1、 右击所创建的 Java 应用程序项目名称 JavaDemo, 在弹出的快捷菜单选择 New 新建一个 Java 程序类 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 5/29 页 5 2、在类创建的对话框输入包名称为 com.bluedream.demo,类名称为 JavaBubbleSort,并选 择需要在 JavaBubbleSort 类创建出 main()方法 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 6/29 页 6 3、点击对话框的完成(Finish)按钮,将创建出一个空的 Java 程序类,在该类自动地包 含有 main()方法 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 7/29 页 7 4、编程示例的功能实现的程序代码 在该 Java 程序,定义待排序的数组(目前数组的各个元素是预先定义的,后续可以 由用户输入),然后对该数组的各个元素值应用冒泡排序算法实现排序,并打印出排序前 和排序后的数组的各个元素值,以方便进行对比。 (1)程序代码示例 在程序设计实现方面主要是应用双层嵌套 for 循环进行冒泡排序编程实现, 参考下面示例 代码的嵌套 for 循环的实现代码。 package com.bluedream.demo; public class JavaBubbleSort { public static void main(String[] args) { /** * 定义存储待排序的数组 */ int[] someOneArray; /** * 定义一个变量,用来存储临时的数据 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值