关于map的一个小问题 LinkedHashSet造成的,你用ArrayList就是你要的结果。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ...这好象是我刚才写的那个...value我定义成了set,所以addAll的时候重复的部分就去掉了,你不希望去掉重复的,就换成ArrayList 这个对了是因为LinkedHashSet造成的,他存放的内容不可以重复。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(); } }} spring 拦截器,用注解的方法怎么配置哦? 如何实现画布卷动? 怎么动态调整画布大小。 怎么用函数改变全局变量的值? 类被finish修饰了,我想要继承的话该怎么做? 100分的问题! 怎么在一个图片上加文字 链式栈的入栈和出栈问题,求各位大神指教 利用JDBC-ODBC能不能向数据库中存储二进制数据 本人用JAVA开发了一套简单的数据操作软件,需要源代码的请留下email. 如何根据用户输入将某个变量强转,不用if..else.. double和Double转换
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();
} }
}