/
akolonin
/
aigents-java
Обзор
Документация
Войти
/
akolonin
/
aigents-java
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/net/webstructor/data/OrderedMap.java
67 строк
2 KB
Anton Kolonin
2.9.3. Refactoring Conversationer for configurable Intenters
05 июл 2020, 18:11
05 июл 2020, 18:11
73705d4
Код
Авторство
О чём код?
/* * MIT License * * Copyright (c) 2005-2020 by Anton Kolonin, Aigents® * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package net.webstructor.data; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; /** * Maintaines original order in the elements of the map * @author akolonin * @param <P> map key * @param <T> map value */ public class OrderedMap<P,T> extends ArrayList<T> { private static final long serialVersionUID = -7114034521031949539L; private HashMap<P,T> map = new HashMap<P,T>(); public T get(P p){ return map.get(p); } public synchronized boolean put(P p, T t){ if (map.containsKey(p)) return false; map.put(p,t); add(t); return true; } /*public OrderedMap<P,T> clone() { OrderedMap<P,T> clone = new OrderedMap<P,T>(); for (T t : this) { for (P p : map.keySet()) { T pt = map.get(p); if (t.equals(pt)) put(p,t); } } return clone; }*/ public Collection<T> values() { return this; } }