⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpair.java

📁 用Java编写的基于Socket的聊天室小程序!
💻 JAVA
字号:
import java.util.*;
/**
 * MPair类实现了Map.Entry
 */
class MPair implements Map.Entry,Comparable{
    Object key, value; //key和value分别用来存放Map中的key和value
    MPair(Object k,Object v){
        key = k;
        value = v;
}
//下面方法实现了Map.Entry接口中的方法
    public Object getKey() { return key; }
    public Object getValue() { return value; }
    public Object setValue(Object v){
        Object result = value;
        value = v;
        return result;
}
//下面方法实现了Comparable接口中的方法
    public boolean equals(Object o){
        return key.equals(((MPair)o).key);
    }
    public int compareTo(Object rv){
        return ((Comparable)key).compareTo(((MPair)rv).key);
    }
}
class SlowMap extends AbstractMap{
    private ArrayList
        keys = new ArrayList(),
        values = new ArrayList();
    public Object put(Object key, Object value){
        Object result = get(key);
        if(!keys.contains(key)){ //(1)
            keys.add(key);
            values.add(value);
        }
        else
            values.set(keys.indexOf(key), value);
        return result;
    }
    public Object get(Object key){
        if(!keys.contains(key)){
            return null;
        }
        else
            return values.get(keys.indexOf(key));
}
//用Mpair封装Map中的key-value pair并存入Set中
    public Set entrySet(){
        Set entries = new HashSet();
        Iterator
            ki = keys.iterator(),
            vi = values.iterator();
        while(ki.hasNext())
            entries.add(new MPair(ki.next(), vi.next()));
        return entries;
    }
}
public class ExplicitStatic{
    public static void main(String[] args){
        SlowMap m = new SlowMap();
        for( int i=1; i<10; i++)
            m.put("km" + i, "m" + i);
        System.out.println(m);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -