abstractlist.java
来自「BOOK:Beginning Algorithms Code Example」· Java 代码 · 共 60 行
JAVA
60 行
package com.wrox.algorithms.lists;import com.wrox.algorithms.iteration.Iterator;/** * Convenience base class for {@link List} implementations. * */public abstract class AbstractList implements List { public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append('['); if (!isEmpty()) { Iterator i = iterator(); for (i.first(); !i.isDone(); i.next()) { buffer.append(i.current()).append(", "); } buffer.setLength(buffer.length() - 2); } buffer.append(']'); return buffer.toString(); } public int hashCode() { int hashCode = 0; Iterator i = iterator(); for (i.first(); !i.isDone(); i.next()) { hashCode ^= i.current().hashCode(); } return hashCode; } public boolean equals(Object object) { return object instanceof List ? equals((List) object) : false; } public boolean equals(List other) { if (other == null || size() != other.size()) { return false; } Iterator i = iterator(); Iterator j = other.iterator(); for (i.first(), j.first(); !i.isDone() && !j.isDone(); i.next(), j.next()) { if (!i.current().equals(j.current())) { break; } } return i.isDone() && j.isDone(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?