fzy-blog

java Array 数组常用工具类

2019-05-24

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

判断数组中是否存在某值

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;
}
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章