Я использую связанный список, и я изменил стандартный метод удаления, потому что я хотел вернуть как удаленный узел, который является нормальным, так и возвращать узел перед ним, например, если бы я хотел изменить прямую ссылку, т. е. хвостовой узел на предыдущий узел, я мог бы. Мне было интересно, если использовать hashmap для достижения этого, как показано ниже, это лучший способ сделать это или, если есть лучший способ достичь того, что я хочу? (Примечание: Приведенный ниже код работает, я просто смотрю, чтобы увидеть, если есть более элегантное решение)Связанный список remove method return удаленный узел и новый узел
public HashMap<String, Node> remove(int i)
{
if(isEmpty()) return null;
else
{
HashMap<String, Node> temp = new HashMap<>();
if(i == 0)
{
temp.put(REMOVE_NODE_KEY, firstNode);
firstNode = (E)firstNode.getNext();
temp.put(REMOVE_NEW_KEY, firstNode);
}
else
{
NodeIterator<E> iterator = new NodeIterator<>(firstNode, i, 1);
Node prev = iterator.getEnd();
temp.put(REMOVE_NODE_KEY, prev.getNext());
prev.setNext(prev.getNext().getNext());
temp.put(REMOVE_NEW_KEY, prev);
}
size--;
return temp;
}
}