Skip to content

java Array 数组常用工具类

比较两个数组去重复 (有相同移除第一个数组中的相同值)

java
/**
 * 比较两个数组去重复 (有相同移除第一个数组中的相同值)
 * */
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();
}

比较两个数组是否有重复

java
/**
* 比较两个数组是否有重复
* */
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;
}

判断数组中是否有重复

java
/**
* 判断数组中是否有重复
*/
public static boolean checkRepeat(Object[] arrs) {
    Set<Object> set = new HashSet<>(arrs.length);
    Collections.addAll(set, arrs);
    return set.size() != arrs.length;
}

判断数组去重复

java
/**
* 判断数组去重复
*/
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;
}

比较两个以逗号分隔的字符串 去重(有相同移除第一个数组中的相同值)

java
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])) { //删除多个时用此方法 ,删除一个时用 if(p.equals(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));

判断数组中是否存在某值

java
public static boolean isExist(String[] arr, String value) {
    for (String s : arr) {
        if (s.equals(value)) {
            return true;
        }
    }
    return false;
}
最近更新