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

📄 cycleobject.java

📁 循环对象中的Java对象
💻 JAVA
字号:
package leo.util;
/**
 * <p>循环对象链中的对象,一个循环对象有知道其下一个对象及上一个对象的能力,
 * 有知道自己是否第一个、最后一个的能力,通过任意一个双向循环链上的对象,都可以顺藤摸瓜,获取整个链上的其他对象。</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author Smilingleo
 * @version 1.0
 */
public class CycleObject {
  private Object key;
  private Object value;
  private CycleObject next;
  private CycleObject prior;
  private boolean isFirst = false;
  private boolean isLast = false;
  public CycleObject(Object key, Object value) {
    this.key = key;
    this.value = value;
  }
  public Object getKey(){
    return key;
  }
  public CycleObject getNext() {
    return next;
  }
  public Object getValue() {
    return value;
  }
  public void setFirst(boolean isFirst) {
    this.isFirst = isFirst;
  }
  public void setLast(boolean isLast){
    this.isLast = isLast;
  }
  public boolean isLast(){
    return this.isLast;
  }
  public void setKey(Object key) {
    this.key = key;
  }
  public void setNext(CycleObject next) {
    this.next = next;
  }
  public void setValue(Object value) {
    this.value = value;
  }
  public boolean isFirst() {
    return isFirst;
  }
  public CycleObject getPrior() {
    return prior;
  }
  public void setPrior(CycleObject prior) {
    this.prior = prior;
  }
  /**
   * 通过逐个向前翻动,直到找到isFirst的第一个对象。
   * @return CycleObject
   */
  public CycleObject getFirst(){
    CycleObject temp = this.getPrior();
    if (temp == null) return this;
    while (!temp.isFirst && temp.getPrior() != null)
      temp = temp.getPrior();
    return temp;
  }
  /**
   * 逐个向后翻动,知道找到isLast的最后一个对象。
   * @return CycleObject
   */
  public CycleObject getLast(){
    CycleObject temp = this.getNext();
    if (temp == null) return this;
    while(!temp.isLast && temp.getNext() != null)
      temp = temp.getNext();
    return temp;
  }
}

⌨️ 快捷键说明

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