比較兩個String字符串數組元素差異
1、工具類
package io.renren.common.utils; import org.apache.commons.lang3.ArrayUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @description: 比較兩個新舊String類型數組 * @author: HYJ * @create: 2019-11-08 11:13 */ public class CompareStringArrayUtil { /** * @param oldArr 舊數組 * @param newArr 新數組 * @return Map 包含兩個數組,相較於舊數組,新數組多了哪些元素,以及少了哪些元素 */ public static Map<String, String[]> compareStringArray(String[] oldArr, String[] newArr) { List<String> addList = new ArrayList<>(); List<String> deleteList = new ArrayList<>(); for (String anOldArr : oldArr) { if (!ArrayUtils.contains(newArr, anOldArr)) { deleteList.add(anOldArr); } } for (String aNewArr : newArr) { if (!ArrayUtils.contains(oldArr, aNewArr)) { addList.add(aNewArr); } } String[] addArr = addList.toArray(new String[0]); String[] deleteArr = deleteList.toArray(new String[0]); Map<String, String[]> res = new HashMap<>(); res.put("addArr", addArr); res.put("deleteArr", deleteArr); return res; } }
2、執行調用方法
public static void main(String[] args) { String[] oldArr = {"1","2"}; String[] newArr = {"1","3","4"}; Map<String, String[]> res = CompareStringArrayUtil.CompareStringArray(oldArr, newArr); System.out.println("deleteArr: "+ Arrays.toString(res.get("deleteArr"))); System.out.println("addArr: "+ Arrays.toString(res.get("addArr"))); }
3、運行結果
deleteArr: [2]
addArr: [3, 4]
本文轉載鏈接:https://blog.csdn.net/Mr_EvanChen/article/details/80669079