Java 比较两个数组是否相同或者存在数组包含关系 您所在的位置:网站首页 java判断数组中是不是有某一个元素 Java 比较两个数组是否相同或者存在数组包含关系

Java 比较两个数组是否相同或者存在数组包含关系

2023-09-01 08:07| 来源: 网络整理| 查看: 265

业务背景:比较两个数组元素是否相同,或者数组A的元素是否包含数组B

方法1:使用jdk方法

public static void main(String[] args) { String [] array1 = {"1","2","3","4"}; String [] array2 = {"3","2","1"}; if(array1.length !=array2.length){ System.out.println("两个数组中的元素值不相同"); } Arrays.sort(array1); Arrays.sort(array2); if (Arrays.equals(array1, array2)) { System.out.println("两个数组中的元素值相同"); } else { System.out.println("两个数组中的元素值不相同"); } for(String item:array1){ if(!Arrays.asList(array2).contains(item)){ System.out.println("数组array2不包含array1"); } } }

方法2:利用hashmap 循环数组1进行key占位,当循环数组2时,get(key)是否存在,不存在则不相等,不包含关系,时间复杂度为O(n)

public static void main(String[] args) { String [] array1 = {"1","2","3"}; String [] array2 = {"3","2","1"}; boolean result=checkArraysIsEqual(array1,array2); if(!result){ System.out.println("两个数组中的元素值不相同"); } } private static boolean checkArraysIsEqual(String[] array1, String[] array2) { Map map1=new HashMap(); for(String item1:array2){ map1.put(item1,1); } for(String item2:array1){ Integer result = map1.get(item2); if(result ==null){ return false; } continue; } return true; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有