提交 8422d921 authored 作者: Thomas Mueller's avatar Thomas Mueller

Disable work in progress

上级 037c15c3
...@@ -17,122 +17,122 @@ import java.util.Iterator; ...@@ -17,122 +17,122 @@ import java.util.Iterator;
*/ */
public class ConcurrentArrayList<K> { public class ConcurrentArrayList<K> {
/** // /**
* The list. // * The list.
*/ // */
volatile List<K> list = new List<K>(null, 0, 0); // volatile List<K> list = new List<K>(null, 0, 0);
//
/** // /**
* Get the first element, or null if none. // * Get the first element, or null if none.
* // *
* @return the first element // * @return the first element
*/ // */
public K peekFirst() { // public K peekFirst() {
return list.peekFirst(); // return list.peekFirst();
} // }
//
/** // /**
* Get the last element, or null if none. // * Get the last element, or null if none.
* // *
* @return the last element // * @return the last element
*/ // */
public K peekLast() { // public K peekLast() {
return list.peekLast(); // return list.peekLast();
} // }
//
/** // /**
* Add an element at the end. // * Add an element at the end.
* // *
* @param obj the element // * @param obj the element
*/ // */
public synchronized void add(K obj) { // public synchronized void add(K obj) {
K[] array = new K[list.length + 1]; // K[] array = new K[list.length + 1];
if (list.length > 0) { // if (list.length > 0) {
System.arraycopy(list.list, list.offset, dest, destPos, length) // System.arraycopy(list.list, list.offset, dest, destPos, length)
Arrays.copyOf(, newLength) // Arrays.copyOf(, newLength)
list = new List<K>(list.add(obj); // list = new List<K>(list.add(obj);
} // }
//
/** // /**
* Remove the first element, if it matches. // * Remove the first element, if it matches.
* // *
* @param obj the element to remove // * @param obj the element to remove
* @return true if the element matched and was removed // * @return true if the element matched and was removed
*/ // */
public synchronized boolean removeFirst(K obj) { // public synchronized boolean removeFirst(K obj) {
if (head.obj != obj) { // if (head.obj != obj) {
return false; // return false;
} // }
head = head.next; // head = head.next;
return true; // return true;
} // }
//
/** // /**
* Remove the last element, if it matches. // * Remove the last element, if it matches.
* // *
* @param obj the element to remove // * @param obj the element to remove
* @return true if the element matched and was removed // * @return true if the element matched and was removed
*/ // */
public synchronized boolean removeLast(K obj) { // public synchronized boolean removeLast(K obj) {
if (peekLast() != obj) { // if (peekLast() != obj) {
return false; // return false;
} // }
head = Entry.removeLast(head); // head = Entry.removeLast(head);
return true; // return true;
} // }
//
/** // /**
* Get an iterator over all entries. // * Get an iterator over all entries.
* // *
* @return the iterator // * @return the iterator
*/ // */
public Iterator<K> iterator() { // public Iterator<K> iterator() {
return new Iterator<K>() { // return new Iterator<K>() {
//
List<K> list = head; // List<K> list = head;
//
@Override // @Override
public boolean hasNext() { // public boolean hasNext() {
return current != NULL; // return current != NULL;
} // }
//
@Override // @Override
public K next() { // public K next() {
K x = current.obj; // K x = current.obj;
current = current.next; // current = current.next;
return x; // return x;
} // }
//
@Override // @Override
public void remove() { // public void remove() {
throw DataUtils.newUnsupportedOperationException("remove"); // throw DataUtils.newUnsupportedOperationException("remove");
} // }
//
}; // };
} // }
//
/** // /**
* An entry in the linked list. // * An entry in the linked list.
*/ // */
private static class List<K> { // private static class List<K> {
final K[] list; // final K[] list;
final int offset; // final int offset;
final int length; // final int length;
//
List(K[] list, int offset, int length) { // List(K[] list, int offset, int length) {
this.list = list; // this.list = list;
this.offset = offset; // this.offset = offset;
this.length = length; // this.length = length;
} // }
//
public K peekFirst() { // public K peekFirst() {
return length == 0 ? null : list[offset]; // return length == 0 ? null : list[offset];
} // }
//
public K peekLast() { // public K peekLast() {
return length == 0 ? null : list[offset + length - 1]; // return length == 0 ? null : list[offset + length - 1];
} // }
//
} // }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论