自己在优化一下吧,不过还是自己做比较好!
import java.util.*;public class MyLinkedMap implements MyInterface {
HashMap my = new HashMap();
public HashMap getMap() {
return my;
} //判断当前数据结构中是否包含指定的key
public boolean contains(String key) {
return my.containsKey(key); } //把value对象保存到对应key值的列表中
public void put(String key, Object value) {
if (!contains(key)) {
List con = new LinkedList();
con.add(value);
my.put(key, con);
} else {
LinkedList con = (LinkedList) my.get(key);
con.add(value);
my.put(key, con);
} } //查找key值对应的所有value,并返回到一个LinkedList对象中
public LinkedList getLinkedList(String key) {
if (contains(key)) {
LinkedList hi = (LinkedList) my.get(key);
return hi;
} else
return null; } //查找并打印出对应key值的所有value,如果没查到,则抛出例外
public void print(String key) throws Exception {
List m=getLinkedList(key);
if(m!=null){
System.out.println("key:"+key);
Iterator it=m.iterator() ;
while(it.hasNext())
System.out.println(it.next());}
else
System.out.println("No such key:"+key) ;
} public static void main(String[] args) {
MyLinkedMap m = new MyLinkedMap();
m.put("GS001", "c++:good");
m.put("GS001", "java:fair"); m.put("GS002", "c++:good");
m.put("GS002", "java:excellent"); m.put("GS001", "c#: failed"); m.put("GS002", "c#: failed"); try {
m.print("GS002");
} catch (Exception e) {
System.out.println(e.getMessage());
} try {
m.print("GS001");
} catch (Exception e) {
System.out.println(e.getMessage());
} try {
m.print("吴慈仁");
} catch (Exception e) {
System.out.println(e.getMessage());
} }
}
import java.util.*;public class MyLinkedMap implements MyInterface {
HashMap my = new HashMap();
public HashMap getMap() {
return my;
} //判断当前数据结构中是否包含指定的key
public boolean contains(String key) {
return my.containsKey(key); } //把value对象保存到对应key值的列表中
public void put(String key, Object value) {
if (!contains(key)) {
List con = new LinkedList();
con.add(value);
my.put(key, con);
} else {
LinkedList con = (LinkedList) my.get(key);
con.add(value);
my.put(key, con);
} } //查找key值对应的所有value,并返回到一个LinkedList对象中
public LinkedList getLinkedList(String key) {
if (contains(key)) {
LinkedList hi = (LinkedList) my.get(key);
return hi;
} else
return null; } //查找并打印出对应key值的所有value,如果没查到,则抛出例外
public void print(String key) throws Exception {
List m=getLinkedList(key);
if(m!=null){
System.out.println("key:"+key);
Iterator it=m.iterator() ;
while(it.hasNext())
System.out.println(it.next());}
else
System.out.println("No such key:"+key) ;
} public static void main(String[] args) {
MyLinkedMap m = new MyLinkedMap();
m.put("GS001", "c++:good");
m.put("GS001", "java:fair"); m.put("GS002", "c++:good");
m.put("GS002", "java:excellent"); m.put("GS001", "c#: failed"); m.put("GS002", "c#: failed"); try {
m.print("GS002");
} catch (Exception e) {
System.out.println(e.getMessage());
} try {
m.print("GS001");
} catch (Exception e) {
System.out.println(e.getMessage());
} try {
m.print("吴慈仁");
} catch (Exception e) {
System.out.println(e.getMessage());
} }
}
//MyLinkedMap的构造函数
public MyLinkedMap()
{
hashMap = new HashMap();
}
// 获得整个数据结构的对象,返回类型为HashMap
public HashMap getMap()
{
return hashMap;
}
//判断当前数据结构中是否包含指定的key,key为传递进来的字符类型的参数
public boolean contains(String key)
{
return hashMap.containsKey(key);
}
//把value对象保存到对应key值的列表中
public void put(String key, Object value)
{
if(contains(key))
{
getLinkedList(key).add(value);
}
else
{
List linkedlist = new LinkedList();
linkedlist.add(value);
hashMap.put(key,linkedlist);
}
}
//查找key值对应的所有value,并返回到一个LinkedList对象中
public LinkedList getLinkedList(String key)
{
return (LinkedList)hashMap.get(key);
}
//把value对象保存到对应key值的列表中
public void print(String key)throws Exception
{
if(contains(key))
{
System.out.println("key:"+key);
Iterator linklist = getLinkedList(key).iterator();
while(linklist.hasNext())
{
System.out.println(linklist.next());
}
}
else
{
System.out.println("No such key:"+key);
}
}
反正是做出来了,哎呀,差得太多了!
自己努力努力!!!