import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class Common { /** * 數組a字符串是否包含數組b中的字符串 * @param a * @param b * @param <T> * @return * 好比:String a = {"1", "2"} String b = {"1"}, 則a包含b * */ public static boolean isContains(String[] a, String[] b) { if (a.length == 0 || b.length == 0) { return false; } Set<String> aSet = new HashSet(Arrays.asList(a)); Set<String> bSet = new HashSet(Arrays.asList(b)); aSet.addAll(bSet); return aSet.size() == a.length; } /** * 判斷數組是否有交集 * @param a * @param b * @return */ public static boolean isContainsAny(String[] a, String[] b) { // 把較長的數組轉換爲set Set<String> set = new HashSet(Arrays.asList(a.length > b.length ? a : b)); // 遍歷短數組 for (String str : a.length > b.length ? b : a) { if (set.contains(str)) { return true; } } return false; } }