sortedlistadaptablepriorityqueue-locationawareentry.html

来自「经典的数据结构源代码(java 实现)」· HTML 代码 · 共 55 行

HTML
55
字号
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre>  <font color = #ff0080>/** Replaces the value of the given entry */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font>V <font color=#0000ff>replaceValue</font>(Entry&lt;K,V&gt; e, <font color=#8000a0>V </font>value) {    <font color=#0000ff>checkEntry</font>(e);    <font color=#8000a0>V </font>oldValue =<font color=#0000ff> </font>(<font color=#0000ff></font>(LocationAwareEntry&lt;K,V&gt;) e).<font color=#0000ff>setValue</font>(value);    <font color=#8000a0><font color=#ff8000>return</font> </font>oldValue;  }  <font color = #ff0080>/** Determines whether a given entry is valid */</font>  <font color=#8000a0><font color=#8000a0>protected</font> </font><font color=#8000a0>void</font> <font color=#0000ff>checkEntry</font>(Entry ent) <font color=#8000a0><font color=#ff8000>throws</font> </font>InvalidEntryException {    <font color=#ff8000>if</font><font color=#0000ff></font>(ent == null || !<font color=#0000ff></font>(ent <font color=#8000a0>instanceof </font>LocationAwareEntry))      <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>InvalidEntryException</font>(<font color=#008000>"invalid entry"</font>);  }  <font color = #ff0080>/** Inner class for a location-aware entry */</font>  <font color=#8000a0><font color=#8000a0>protected</font> </font><font color=#8000a0>static</font> <font color=#8000a0><font color=#ff8000>class</font> </font>LocationAwareEntry&lt;K,V&gt;    <font color=#8000a0><font color=#ff8000>extends</font> </font>MyEntry&lt;K,V&gt; <font color=#8000a0><font color=#ff8000>implements</font> </font>Entry&lt;K,V&gt; {    <font color = #ff0080>/** Position where the entry is stored. */</font>    <font color=#8000a0><font color=#8000a0>private</font> </font>Position&lt;Entry&lt;K,V&gt;&gt; loc;    <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#0000ff>LocationAwareEntry</font>(K key, <font color=#8000a0>V </font>value) {      <font color=#ff8000>super</font><font color=#0000ff></font>(key, value);    }    <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#0000ff>LocationAwareEntry</font>(K key, <font color=#8000a0>V </font>value, Position&lt;Entry&lt;K,V&gt;&gt; pos) {      <font color=#ff8000>super</font><font color=#0000ff></font>(key, value);      loc = pos;    }    <font color=#8000a0><font color=#8000a0>protected</font> </font>Position&lt;Entry&lt;K,V&gt;&gt; <font color=#0000ff>location</font>() {      <font color=#8000a0><font color=#ff8000>return</font> </font>loc;    }    <font color=#8000a0><font color=#8000a0>protected</font> </font>Position&lt;Entry&lt;K,V&gt;&gt; <font color=#0000ff>setLocation</font>(Position&lt;Entry&lt;K,V&gt;&gt; pos) {      Position&lt;Entry&lt;K,V&gt;&gt; oldPosition = <font color=#0000ff>location</font>();      loc = pos;      <font color=#8000a0><font color=#ff8000>return</font> </font>oldPosition;    }    <font color=#8000a0><font color=#8000a0>protected</font> </font>K <font color=#0000ff>setKey</font>(K key) {      <font color=#8000a0>K </font>oldKey = <font color=#0000ff>getKey</font>();      k = key;      <font color=#8000a0><font color=#ff8000>return</font> </font>oldKey;    }    <font color=#8000a0><font color=#8000a0>protected</font> </font>V <font color=#0000ff>setValue</font>(V value) {      <font color=#8000a0>V </font>oldValue = <font color=#0000ff>getValue</font>();      v = value;      <font color=#8000a0><font color=#ff8000>return</font> </font>oldValue;    }  }</dl></body></html>

⌨️ 快捷键说明

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