有这样两个Map,一个是kMap,一个是vMap
kMap结构是这样的
键 值
ID 1
TAG 2vMap的结构是这样的
键 值
name 张三
DESC 一个好人
现在要把这两个MAP的值变成如下形式
(ID,TAG,NAME,DESC)(1,2,张三,一个好人)
该怎么进行遍历,有知道的麻烦些下,只说思路的还是不要了!!!思路相信都一样,就是遍历判断,谢谢大家了!!!
kMap结构是这样的
键 值
ID 1
TAG 2vMap的结构是这样的
键 值
name 张三
DESC 一个好人
现在要把这两个MAP的值变成如下形式
(ID,TAG,NAME,DESC)(1,2,张三,一个好人)
该怎么进行遍历,有知道的麻烦些下,只说思路的还是不要了!!!思路相信都一样,就是遍历判断,谢谢大家了!!!
键 值
ID 1
TAG 2vMap的结构是这样的
键 值
name 张三
比如上面两个map
拼成一个(1,2,张三,一个好人)后TAG 2怎么拼?
Map<String, String> map2 = new HashMap<String, String>();
Collection<String> values1 = map1.values();
Collection<String> values2 = map2.values();
String str1 = values1.toString().replaceAll("\\[", "").replaceAll("\\]", "");
String str2 = values2.toString().replaceAll("\\[", "").replaceAll("\\]", "");
String result = str1 + str2;
System.out.println(result);
如下形式? 你这形式用两个数组动态对应储存起来就好了
因为map的key 本身就没有规律/无序的,你不可能要求每次第一个遍历的都是 ID 1 ,TAG 2 这样的情况.你说不要思路,OK 你都会思路了.那我们还回答个P啊? 遍历map的算法下面给你了,看你的语气那么嚣张,说什么不要思路,动态对应这么简单的方法你应该写的出吧?//循环遍历map的方法
public class CircleMap {
public static void main(String[] args) {
Map<String, Integer> tempMap = new HashMap<String, Integer>();
tempMap.put("a", 1);
tempMap.put("b", 2);
tempMap.put("c", 3);
// JDK1.4中
// 遍历方法一 hashmap entrySet() 遍历
System.out.println("方法一");
Iterator it = tempMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
System.out.println("key=" + key + " value=" + value);
}
System.out.println("");
// JDK1.5中,应用新特性For-Each循环
// 遍历方法二
System.out.println("方法二");
for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {
String key = entry.getKey().toString();
String value = entry.getValue().toString();
System.out.println("key=" + key + " value=" + value);
}
System.out.println(""); // 遍历方法三 hashmap keySet() 遍历
System.out.println("方法三");
for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {
Object obj = i.next();
System.out.println(obj);// 循环输出key
System.out.println("key=" + obj + " value=" + tempMap.get(obj));
}
for (Iterator i = tempMap.values().iterator(); i.hasNext();) {
Object obj = i.next();
System.out.println(obj);// 循环输出value
}
System.out.println(""); // 遍历方法四 treemap keySet()遍历
System.out.println("方法四");
for (Object o : tempMap.keySet()) {
System.out.println("key=" + o + " value=" + tempMap.get(o));
}
System.out.println("11111"); // java如何遍历Map <String, ArrayList> map = new HashMap <String,
// ArrayList>();
System.out
.println("java 遍历Map <String, ArrayList> map = new HashMap <String, ArrayList>();");
Map<String, ArrayList> map = new HashMap<String, ArrayList>();
Set<String> keys = map.keySet();
Iterator<String> iterator = keys.iterator();
while (iterator.hasNext()) {
String key = iterator.next();
ArrayList arrayList = map.get(key);
for (Object o : arrayList) {
System.out.println(o + "遍历过程");
}
}
System.out.println("2222");
Map<String, List> mapList = new HashMap<String, List>();
for (Map.Entry entry : mapList.entrySet()) {
String key = entry.getKey().toString();
List<String> values = (List) entry.getValue();
for (String value : values) {
System.out.println(key + " --> " + value);
}
}
}
有一个Map结构是这样的
Map<String,String>
主键 值
ID 1
TAG KEE
NAME 张三
DESC 一个好人输出的结果是(ID,TAG,NAME,DESC)+(1,KEE,张三,一个好人)