Compare two strings String array elements differences
1, tools
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; /** * @program: ivvdata-security * @Description: Comparison of two old and new String type array * @Author : ENTER * @create: 2019-11-08 11:13 */ public class CompareStringArrayUtil { / ** * @param oldArr old array * @Param newArr new array * @Return the Map contains two arrays, compared to the old array, a new array which elements are more and less which elements * / public static the 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[addList.size()]); String[] deleteArr = deleteList.toArray(new String[deleteList.size()]); Map<String, String[]> res = new HashMap<>(); res.put("addArr", addArr); res.put("deleteArr", deleteArr); return res; } }
2, the calling method
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, operating results
deleteArr: [2]
addArr: [3, 4]
This article is reproduced links: https://blog.csdn.net/Mr_EvanChen/article/details/80669079