public static void main(String[] args) {
String[] arrayA = {"a", "b", "c", "d", "e", "f", "y", "1", "sa", "a"};
String[] arrayB = {"a", "b", "c", "d", "e", "y", "1", "dnm"};
sameValueInArray(arrayA, arrayB);
notSameValueInArray(arrayA, arrayB);
}
/**
* 两个数组不相同的值
* @param arrayA string数组
* @param arrayB string数组
*/
private static void notSameValueInArray(String[] arrayA, String[] arrayB) {
long startTime = System.nanoTime();
List<String> listA = Arrays.asList(arrayA);
List<String> listB = Arrays.asList(arrayB);
List<String> listValue = new ArrayList<>();
for (String string : arrayB) {
if (!listA.contains(string)) {
listValue.add(string);
}
}
for (String string : arrayA) {
if (!listB.contains(string)) {
listValue.add(string);
}
}
System.out.println("不相同值");
for (String resultsOf : listValue) {
System.out.print(resultsOf + " ");
}
System.out.println("\n耗时:" + (System.nanoTime() - startTime));
}
/**
* 两个数组中相同的值
* @param arrayA string数组
* @param arrayB string数组
*/
private static void sameValueInArray(String[] arrayA, String[] arrayB) {
long startTime = System.nanoTime();
Set<String> set = new HashSet<>();
for (String a : arrayA) {
for (String b : arrayB) {
if (a.equals(b)) {
set.add(a);
}
}
}
System.out.println("相同值");
for (String resultsOf : set) {
System.out.print(resultsOf + " ");
}
System.out.println("\n耗时:" + (System.nanoTime() - startTime));
}