crs.one: Vereinfachung folgender Abfrage

Beitrag lesen

tach auch...

bin an dem punkt angelangt, an dem ich einfach den wald vor lauter bäumen nicht mehr sehe ;)

ich würde gerne wissen ob jemand eine vereinfachung in dieser abfrage findet:

------------------------------------------------------------------
if((runner == anfang) || ((runner != anfang) && (runner != ende)))
{
  runner.get_next().set_last(runner.get_last());
}
else
{
  ende = runner.get_last();
}
if((runner == ende) || ((runner != anfang) && (runner != ende)))
{
  runner.get_last().set_next(runner.get_next());
}
else
{
  anfang = runner.get_next();
}
------------------------------------------------------------------

es liegt wahrscheinlich direkt auf der hand, doch schau ich mir diesen code-schnippel einfach schon zu lange an und hoffe nun auf den rat und die augen einiger dritter.
der OR-part der beiden if-abfragen ist ja identisch und daher sollte es irgendwie möglich sein, diese beiden zu kombinieren.

hinweis:

es handelt sich um eine doppelt verkettete dynamische listenstruktur in java bei der ich einen anfangs- und end-"zeiger" verwende.
nun sollen beim löschen die "zeiger"-strukturen umgestellt werden und beim löschen des ersten bzw. letzten elementes dabei noch der anfangs- bzw. end-"zeiger" versetzt werden.

thx für eure zeit, mühe und guten augen ;)

greez

crs