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