1 |
duarte |
7 |
package tools; |
2 |
|
|
|
3 |
|
|
import java.util.LinkedHashMap; |
4 |
|
|
import java.util.LinkedHashSet; |
5 |
|
|
import java.util.Iterator; |
6 |
|
|
|
7 |
|
|
public class utils4lh { |
8 |
|
|
|
9 |
|
|
private utils4lh() {} |
10 |
|
|
|
11 |
|
|
public static LinkedHashMap reverse(LinkedHashMap lhm) { |
12 |
|
|
|
13 |
|
|
LinkedHashMap rvLhm = new LinkedHashMap(); |
14 |
|
|
|
15 |
|
|
Object[] a = lhm.keySet().toArray(); |
16 |
|
|
|
17 |
|
|
for (int i = a.length-1; i > -1; i--) { |
18 |
|
|
rvLhm.put(a[i], lhm.get(a[i])); |
19 |
|
|
|
20 |
|
|
} |
21 |
|
|
|
22 |
|
|
return rvLhm; |
23 |
|
|
|
24 |
|
|
} |
25 |
|
|
|
26 |
|
|
public static LinkedHashMap putKeyFirst(LinkedHashMap lhm, Object key) { |
27 |
|
|
|
28 |
|
|
LinkedHashMap oldLhm = (LinkedHashMap)lhm.clone(); |
29 |
|
|
LinkedHashMap newLhm = new LinkedHashMap(); |
30 |
|
|
|
31 |
|
|
newLhm.put(key, oldLhm.get(key)); |
32 |
|
|
oldLhm.remove(key); |
33 |
|
|
newLhm.putAll(oldLhm); |
34 |
|
|
|
35 |
|
|
return newLhm; |
36 |
|
|
|
37 |
|
|
} |
38 |
|
|
|
39 |
|
|
public static LinkedHashSet linkedHashSetDiff(LinkedHashSet a, LinkedHashSet b) { |
40 |
|
|
|
41 |
|
|
Object obj; |
42 |
|
|
LinkedHashSet a_b = new LinkedHashSet(); |
43 |
|
|
LinkedHashSet ab = new LinkedHashSet(); |
44 |
|
|
LinkedHashSet all = new LinkedHashSet(); |
45 |
|
|
|
46 |
|
|
for (Iterator aItr = a.iterator(); aItr.hasNext();) { |
47 |
|
|
obj = aItr.next(); |
48 |
|
|
if (b.contains(obj)) { |
49 |
|
|
b.remove(obj); |
50 |
|
|
ab.add(obj); |
51 |
|
|
} else { |
52 |
|
|
a_b.add(obj); |
53 |
|
|
} |
54 |
|
|
} |
55 |
|
|
|
56 |
|
|
all.add(a_b); |
57 |
|
|
all.add(ab); |
58 |
|
|
all.add(b); |
59 |
|
|
|
60 |
|
|
return all; |
61 |
|
|
|
62 |
|
|
} |
63 |
|
|
|
64 |
|
|
} |