程序員、Java、集合工具類、編程、後端代碼
吐槽
Java程序員天天寫業務代碼,很多複雜計算要自己造輪子太累了
又不安全,然後我點看下org.apache.commons.collections.CollectionUtils
apache的輪子,Java程序員非常喜歡
isEqualCollection兩個集合元素是否相同
String[] arrayA = new String[] { "A", "B", "C" }; String[] arrayB = new String[] { "A", "B", "C" }; //[A, C, E, G, H, K] List listA = Arrays.asList(arrayA); List listB = Arrays.asList(arrayB); System.out.println(CollectionUtils.isEqualCollection(listA,listB));
返回true
交集的補集
說通俗點就去掉重複元素剩下的元素
如下面2個集合重複的有B D F,剩下的就是[A, C, E, G, H, K]
String[] arrayA = new String[] { "A", "B", "C", "D", "E", "F" }; String[] arrayB = new String[] { "B", "D", "F", "G", "H", "K" }; //[A, C, E, G, H, K] List listA = Arrays.asList(arrayA); List listB = Arrays.asList(arrayB); //2個數組取交集 的補集 System.out.println(CollectionUtils.disjunction(listA, listB));
[A, C, E, G, H, K]
代碼場景案例
前端經常傳入重複的元素,後端必須驗證
利用CollectionUtils.disjunction輪子輕鬆搞定
自己寫的話就是循環啊,太難看
1
並集
CollectionUtils.union
交集
CollectionUtils.intersection
差集
CollectionUtils.subtract
listA扣除listB,剩下的元素
差集:返回只存在於listA左集合獨有的數據, 結果【C】
總結
- 程序員還是儘量用已經造好的輪子去開發
- 開發效率問題
- 開發BUG低
- 代碼也優雅多了
介紹apache的輪子應該沒人會噴吧,程序員加油