Just A test







import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;


public class Interview {

	private HashMap<String, HashSet<String>> numberMap = new HashMap<String, HashSet<String>>();
	private HashMap<String, HashSet<String>> nameMap = new HashMap<String, HashSet<String>>();
	
	public static void main(String[] args){
		
		Interview interview = new Interview();
		//interview.readFileIntoParam(args[0]);
		
		interview.readFileIntoParam("D://WAH//workspace//Test//src//test");
		interview.test1("oikh");
		interview.test2("");
		interview.test3("oikh");
		interview.test4(3);
	}

	public void readFileIntoParam(String fileName) {
		 try {  
	            BufferedReader reader = new BufferedReader(new FileReader(fileName));
	            reader.readLine(); 
	            String line = null;  
	            while((line=reader.readLine())!=null){  
	                String item[] = line.split(",");
	                if(nameMap.get(item[0])!=null) {
	                	HashSet tmp = nameMap.get(item[0]);
	                	tmp.add(item[1]);
	                }else {
	                	HashSet tmp = new HashSet();
	                	tmp.add(item[1]);
	                	nameMap.put(item[0], tmp);
	                }
	                
	                if(numberMap.get(item[1])!=null) {
	                	HashSet tmp = numberMap.get(item[1]);
	                	tmp.add(item[0]);
	                }else {
	                	HashSet tmp = new HashSet();
	                	tmp.add(item[0]);
	                	numberMap.put(item[1], tmp);
	                }
	               
	            }  
	        } catch (Exception e) {  
	            e.printStackTrace();  
	        }  
	}
	
	
	public void test1(String givenName){
		if(nameMap.get(givenName)!=null) {
			HashSet<String> numberSet = nameMap.get(givenName);
			Iterator<String> it = numberSet.iterator();
			while(it.hasNext()){
				System.out.println(it.next());
			}
		}
	}
	
	public void test2(String givenNum){
		if(numberMap.get(givenNum)!=null) {
			HashSet<String> nameSet = numberMap.get(givenNum);
			Iterator<String> it = nameSet.iterator();
			while(it.hasNext()){
				System.out.println(it.next());
			}
		}
	}
	
	public void test3(String givenName){
		if(nameMap.get(givenName)!=null) {
			HashSet<String> numberSet = nameMap.get(givenName);
			Iterator<String> it = numberSet.iterator();
			while(it.hasNext()){
				String number = it.next();
				//print corresponding number
				System.out.println(number);
				if(numberMap.get(number)!=null) {
					HashSet<String> nameSet = numberMap.get(number);
					Iterator<String> nameIt = nameSet.iterator();
					while(nameIt.hasNext()){
						//print number's related name
						System.out.println(nameIt.next());
					}
				}
			}
		}
	}
	
	public void test4(int N) {
		HashMap<Integer, String> newCollection = new HashMap<Integer, String>();
		Set<String> keySet = nameMap.keySet();
		Iterator<String> tmpkeyIterator = keySet.iterator();
		while(tmpkeyIterator.hasNext()){
			String tmpName = tmpkeyIterator.next();
			int nameMatchNumberSize = nameMap.get(tmpName).size();
			newCollection.put(new Integer(nameMatchNumberSize), tmpName);
		}
		//print N smallest items
		for(int i=1; i<=N; i++){
			if(newCollection.get(new Integer(i))!=null) {
				System.out.println(newCollection.get(new Integer(i)));
			}
		}
	}
	
	
	
}



猜你喜欢

转载自jasonliu8.iteye.com/blog/2259695