blob: 974d3e5ba5a33e1bcd8c27b592fea9c70447614a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package de.animux.android.andmal.util;
import java.util.Collection;
import java.util.LinkedList;
import java.util.ListIterator;
public class SortedLinkedList<T extends Comparable<T>> extends LinkedList<T> {
private static final long serialVersionUID = 8263372892230475461L;
@Override
public boolean add(T object) {
ListIterator<T> it = listIterator();
while (it.hasNext()) {
if (object.compareTo(it.next()) > 0) {
break;
}
}
if (it.hasPrevious()) {
it.previous();
it.add(object);
}
else {
// insert at first position
listIterator().add(object);
}
return true;
}
@Override
public boolean addAll(Collection<? extends T> collection) {
for (T object : collection) {
add(object);
}
return true;
}
}
|