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

📄 listmap.java

📁 BOOK:Beginning Algorithms Code Examples
💻 JAVA
字号:
package com.wrox.algorithms.maps;import com.wrox.algorithms.iteration.Iterator;import com.wrox.algorithms.lists.LinkedList;import com.wrox.algorithms.lists.List;/** * A {@link Map} that uses a {@link LinkedList}. * */public class ListMap implements Map {    /** The underlying list of entries. */    private final List _entries = new LinkedList();    public Object get(Object key) {        DefaultEntry entry = entryFor(key);        return entry != null ? entry.getValue() : null;    }    public Object set(Object key, Object value) {        DefaultEntry entry = entryFor(key);        if (entry != null) {            return entry.setValue(value);        }        _entries.add(new DefaultEntry(key, value));        return null;    }    public Object delete(Object key) {        DefaultEntry entry = entryFor(key);        if (entry == null) {            return null;        }        _entries.delete(entry);        return entry.getValue();    }    public boolean contains(Object key) {        return entryFor(key) != null;    }    public void clear() {        _entries.clear();    }    public int size() {        return _entries.size();    }    public boolean isEmpty() {        return _entries.isEmpty();    }    public Iterator iterator() {        return _entries.iterator();    }    /**     * Obtains the entry (if any) for a specified key.     *     * @param key The key for which an entry is required.     * @return The entry; or <code>null</code> if the key was not found.     */    private DefaultEntry entryFor(Object key) {        Iterator i = iterator();        for (i.first(); !i.isDone(); i.next()) {            DefaultEntry entry = (DefaultEntry) i.current();            if (entry.getKey().equals(key)) {                return entry;            }        }        return null;    }}

⌨️ 快捷键说明

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