62,614
社区成员
发帖
与我相关
我的任务
分享
public class Test<K, V> extends HashMap<K, V> {
private final Set<K> keys = new LinkedHashSet<K>();
// 还有很多方法要如此这般,比如remove, clear, putAll等等等,
// 当然还有HashMap(Map)这样的构造函数。
@Override
public V put(K key, V value) {
keys.add(key);
return super.put(key, value);
}
/**
* @return
* @see java.util.HashMap#keySet()
*/
@Override
public Set<K> keySet() {
return keys;
}
public static void main(String[] args) {
Map<String, String> map = new Test<String, String>();
map.put("123", "1234");
map.put("1234", "1234");
map.put("1", "1234");
map.put("12", "1234");
map.put("abc", "1234");
map.put("abcd", "1234");
map.put("xyz", "1234");
map.put("5555", "1234");
System.out.println(map.keySet());
}
}
package test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class MapTest {
public static void main(String[] args){
// Map map = new HashMap();
// Map map = new TreeMap<String, Integer>();
Map map = new LinkedHashMap();
map.put("5",1);
map.put("2",2);
map.put("3",3);
Iterator ite = map.keySet().iterator();
while(ite.hasNext()){
System.out.println(map.get(ite.next()));
}
}
}