欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Just A test

程序员文章站 2022-05-24 08:49:09
...



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)));
}
}
}



}


相关标签: Java