62,620
社区成员
发帖
与我相关
我的任务
分享List listA = new ArrayList();
List listB = new ArrayList();
Object[] objectc = new Object[] { "aa", "123", "542" };
Object[] objecte = new Object[] { "ww", "524", "865" };
Object[] objecth = new Object[] { "qq", "458", "632" };
Object[] objectp = new Object[] { "gg", "758", "632" };
listA.add(objectc);
listA.add(objecte);
listA.add(objecth);
listA.add(objectp);
Object[] objectq = new Object[] { "gg", "632", "751" };
Object[] objectb = new Object[] { "aa", "123", "123" };
Object[] objecty = new Object[] { "gg", "952", "156" };
listB.add(objectq);
listB.add(objectb);
listB.add(objecty);
Hashtable<String, LinkedHashSet<Object>> ht = new Hashtable<String, LinkedHashSet<Object>>();
for (int i = 0; i < listA.size(); i++) {
Object[] ss = (Object[]) (listA.get(i));
LinkedHashSet<Object> set = new LinkedHashSet<Object>();
set.addAll(Arrays.asList(ss));
ht.put((String)ss[0], set);
}
for (int i = 0; i < listB.size(); i++) {
Object[] ss = (Object[]) (listB.get(i));
LinkedHashSet<Object> set = new LinkedHashSet<Object>();
set.addAll(Arrays.asList(ss));
if (ht.get((String)ss[0]) != null) {
LinkedHashSet<Object> value = ht.get(ss[0]);
value.addAll(set);
ht.put((String)ss[0], value);
} else {
ht.put((String)ss[0], set);
}
}
Iterator it = ht.keySet().iterator();
while (it.hasNext()) {
String key = (String) (it.next());
LinkedHashSet value = ht.get(key);
Iterator it1 = value.iterator();
while (it1.hasNext()) {
System.out.print(it1.next() + " ");
}
System.out.println();
}qq 458 632
gg 758 632 751 952 156
ww 524 865
aa 123 542 qq 458 632
gg 758 632 632 751 952 156
ww 524 865
aa 123 542 123 123
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
public class Cast {
public static void main(String[] args) {
List listA = new ArrayList();
List listB = new ArrayList();
Object[] objectc = new Object[] { "aa", "123", "542" };
Object[] objecte = new Object[] { "ww", "524", "865" };
Object[] objecth = new Object[] { "qq", "458", "632" };
Object[] objectp = new Object[] { "gg", "758", "632" };
listA.add(objectc);
listA.add(objecte);
listA.add(objecth);
listA.add(objectp);
Object[] objectq = new Object[] { "gg", "632", "751" };
Object[] objectb = new Object[] { "aa", "123", "123" };
Object[] objecty = new Object[] { "gg", "952", "156" };
listB.add(objectq);
listB.add(objectb);
listB.add(objecty);
Hashtable<String, ArrayList<Object>> ht = new Hashtable<String, ArrayList<Object>>();
for (int i = 0; i < listA.size(); i++) {
Object[] ss = (Object[]) (listA.get(i));
ArrayList<Object> set = new ArrayList<Object>();
set.addAll(Arrays.asList(ss));
ht.put((String) ss[0], set);
}
for (int i = 0; i < listB.size(); i++) {
Object[] ss = (Object[]) (listB.get(i));
ArrayList<Object> set = new ArrayList<Object>();
set.addAll(Arrays.asList(Arrays.copyOfRange(ss, 1, ss.length)));
if (ht.get((String) ss[0]) != null) {
ArrayList<Object> value = ht.get(ss[0]);
value.addAll(set);
ht.put((String) ss[0], value);
} else {
ht.put((String) ss[0], set);
}
}
Iterator it = ht.keySet().iterator();
while (it.hasNext()) {
String key = (String) (it.next());
ArrayList value = ht.get(key);
Iterator it1 = value.iterator();
while (it1.hasNext()) {
System.out.print(it1.next() + " ");
}
System.out.println();
}
}
}