package org.cric.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Vector;
import java.util.Map.Entry;
public class IteratorArrayList {
/**
* @param args
*/
public static void main(String[] args) {
//方法一:
List<String[]> s=new ArrayList<String[]>();
s.add(new String[]{"1","a"});
s.add(new String[]{"2","b"});
s.add(new String[]{"2","c"});
s.add(new String[]{"1","d"});
s.add(new String[]{"1","e"});
Set<String> set=new HashSet<String>();
for (int i = 0; i < s.size(); i++) {
StringBuffer sb=new StringBuffer();
sb.append(s.get(i)[0]+":");
for (int j = 0; j < s.size(); j++) {
if (s.get(i)[0].equals(s.get(j)[0])) {
sb.append(s.get(j)[1]+",");
}
}
if (sb.length()!=4) {
set.add(sb.toString());
}
}
System.out.println("方法一中的打印结果:"+set);
//方法二:
String data[][]={
{"1","a"},
{"2","b"},
{"2","c"},
{"1","d"},
{"1","e"},
{"2","f"},
{"3","g"}
};
HashMap<String, Vector<String>> map=new HashMap<String, Vector<String>>();
for(String a[]:data){
Vector<String> v;
if(map.containsKey(a[0])){
v=map.get(a[0]);
v.add(a[1]);
}else{
v=new Vector<String>();
v.add(a[1]);
map.put(a[0],v);
}
}
//以上已经排好,下面仅仅为了显示
Iterator<Entry<String, Vector<String>>> iter=map.entrySet().iterator();
System.out.println("方法二中打印的结果为:");
while(iter.hasNext()){
Entry<String, Vector<String>> e=iter.next();
System.out.print(e.getKey()+" => ");
Vector<String> v=e.getValue();
Iterator<String> v_iter=v.iterator();
int count=0;
while(v_iter.hasNext())
System.out.print((count++>0?",":"")+v_iter.next());
System.out.println("");
}
}
}
/*
方法一中的打印结果:[1:a,d,e,, 2:b,c,]
方法二中打印的结果为:
3 => g
2 => b,c,f
1 => a,d,e*/