java Array 数组常用工具类
比较两个数组去重复 (有相同移除第一个数组中的相同值)
1 2 3 4 5 6 7 8 9
|
public static Object[] removeRepeat(Object[] arr1, Object[] arr2) { Set<Object> set1 = new HashSet<>(Arrays.asList(arr1)); Set<Object> set2 = new HashSet<>(Arrays.asList(arr2)); set1.addAll(set2); return set1.toArray(); }
|
比较两个数组是否有重复
1 2 3 4 5 6 7 8 9 10 11
|
public static boolean isRepeat(Object[] arr1, Object[] arr2) { Set<Object> set1 = new HashSet<>(Arrays.asList(arr1)); Set<Object> set2 = new HashSet<>(Arrays.asList(arr2)); Set<Object> setAll = new HashSet<>(set1); setAll.addAll(set2); int setSize = set1.size() + set2.size(); return setAll.size() != setSize; }
|
判断数组中是否有重复
1 2 3 4 5 6 7 8
|
public static boolean checkRepeat(Object[] arrs) { Set<Object> set = new HashSet<>(arrs.length); Collections.addAll(set, arrs); return set.size() != arrs.length; }
|
判断数组去重复
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
public static Object[] removeRepeat(Object[] arrs) { Set<Object> set = new HashSet<>(); Collections.addAll(set, arrs); return set.toArray(); }
public static Object[] removeRepeat(Object[] arr) { if (arr.length < 2) { return arr; } int j = 0; int i = 1; while (i < arr.length) { if (arr[i] == arr[j]) { i++; } else { j++; arr[j] = arr[i]; i++; } } Object[] B = Arrays.copyOf(arr, j + 1); return B; }
|
比较两个以逗号分隔的字符串 去重(有相同移除第一个数组中的相同值)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| String s = "101=a,102=b,103=c,104=d,105=冯"; String p = "101=a,04,105=冯"; String[] str = s.split(",");
for (int i = 0; i < str.length; i++) { if (p.contains(str[i])) { str[i] = ""; } } StringBuilder sb = new StringBuilder(); for (String item : str) { if (!"".equals(item)) { sb.append(item).append(","); } } System.out.println(sb.substring(0, sb.length() - 1));
|
判断数组中是否存在某值
1 2 3 4 5 6 7 8
| public static boolean isExist(String[] arr, String value) { for (String s : arr) { if (s.equals(value)) { return true; } } return false; }
|
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏