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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| import java.util.*;
public class GetGatherDiff { public static void main(String[] args) { String[] a = {null, "21", "0", "39.42", "1013.34", "39.42", "3", "4.61", "14", "56", "56", "3", "9.22", "337.78", "0", "4", "18", "38", "7", "7", "9", "8", "19", "50", "16", "2", "3.6", "1.36", "75", "4", "26", "9.22", "3", "39.42", "337.78", "26", "50", "7", "7", "56", "9", "4", "56", "19", "18", "38", "7", "56", "19", "18", "56", "38", "7", "9", "4", "56", "1", "9.6", "10", "236.52", "6.57", "80.99", "2.7", "0", "0", "0", "7", "5", "21", "2.7", "80.99", "7", "0", "0", "0", "5", "21", "35.26", "3", "337.78", "9.22", "2.7", "80.99", "50", "0", "0", "0", "7", "5", "21", "80.99", "2.7", "10", "2.7", "0", "0", "0", "7", "5", "21", "2.7", "80.99", "2.7", "10", "0", "0", "0", "7", "5", "21", "2.7", "10", "2.7", "80.99", "0", "0", "7", "0", "21", "5", "2.7", "80.99", "2.7", "10", "26", "7", "0", "0", "0", "40.49", "2.7", "40.49", "10", "2.7", "2.7", "21", "13", "4", "0", "0", "7", "0"}; String[] b = {null, "21", "0", "39.42", "1013.34", "39.42", "4.61", "3", "14", "56", "56", "9.22", "3", "337.78", "4", "0", "8", "19", "18", "7", "9", "38", "7", "50", "3.6", "1.36", "16", "2", "75", "4", "26", "3", "39.42", "9.22", "337.78", "7", "9", "56", "38", "7", "56", "4", "19", "18", "26", "50", "56", "7", "19", "18", "9", "56", "38", "7", "4", "56", "1", "9.6", "10", "236.52", "6.57", "2.7", "80.99", "0", "0", "7", "0", "21", "5", "80.99", "2.7", "0", "0", "0", "7", "5", "21", "35.26", "3", "9.22", "337.78", "80.99", "2.7", "50", "0", "0", "0", "7", "5", "21", "2.7", "2.7", "80.99", "10", "0", "0", "7", "0", "21", "5", "10", "2.7", "2.7", "80.99", "0", "0", "0", "7", "5", "21", "2.7", "2.7", "80.99", "10", "7", "0", "0", "0", "21", "5", "10", "2.7", "2.7", "80.99", "26", "0", "0", "0", "7", "2.7", "40.5", "2.7", "40.5", "10", "2.7", "21", "4", "13", "7", "0", "0", "0"};
List<String> la = Arrays.asList(a); List<String> lb = Arrays.asList(b);
System.out.println("disjoint = " + Collections.disjoint(la, lb)); System.out.println("different = " + getDifferent(la, lb) + getDifferent(lb, la)); }
public static List<String> getDifferent(List<String> l1, List<String> l2) { Map<String, Integer> map = new HashMap<>(l1.size(), l2.size()); List<String> diff = new ArrayList<>(); List<String> maxList = l1; List<String> minList = l2; if (l2.size() > l1.size()) { maxList = l2; minList = l1; }
for (String string : maxList) { map.put(string, 1); }
for (String string : minList) { Integer cc = map.get(string); if (cc != null) { map.put(string, ++cc); continue; } map.put(string, 1); }
for (Map.Entry<String, Integer> entry : map.entrySet()) { if (entry.getValue() == 1) { diff.add(entry.getKey()); } } return diff; } }
|