Javolution 6.0.0 java
TableIteratorImpl.java
Go to the documentation of this file.
1
/*
2
* Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3
* Copyright (C) 2012 - Javolution (http://javolution.org/)
4
* All rights reserved.
5
*
6
* Permission to use, copy, modify, and distribute this software is
7
* freely granted, provided that this notice is preserved.
8
*/
9
package
javolution.util.internal.table;
10
11
import
java.util.ListIterator;
12
import
java.util.NoSuchElementException;
13
14
import
javolution
.
util
.
service
.
TableService
;
15
19
public
final
class
TableIteratorImpl
<E>
implements
ListIterator<E> {
20
21
private
int
currentIndex
= -1;
22
private
int
end
;
23
private
int
nextIndex
;
24
private
final
TableService<E>
table
;
25
26
public
TableIteratorImpl
(
TableService<E>
table
,
int
index) {
27
this.table =
table
;
28
this.nextIndex = index;
29
this.end =
table
.size();
30
}
31
32
@Override
33
public
void
add
(E e) {
34
table
.add(
nextIndex
++, e);
35
end
++;
36
currentIndex
= -1;
37
}
38
39
@Override
40
public
boolean
hasNext
() {
41
return
(
nextIndex
<
end
);
42
}
43
44
@Override
45
public
boolean
hasPrevious
() {
46
return
nextIndex
> 0;
47
}
48
49
@Override
50
public
E
next
() {
51
if
(
nextIndex
>=
end
)
throw
new
NoSuchElementException();
52
currentIndex
=
nextIndex
++;
53
return
table
.get(
currentIndex
);
54
}
55
56
@Override
57
public
int
nextIndex
() {
58
return
nextIndex
;
59
}
60
61
@Override
62
public
E
previous
() {
63
if
(
nextIndex
<= 0)
throw
new
NoSuchElementException();
64
currentIndex
= --
nextIndex
;
65
return
table
.get(
currentIndex
);
66
}
67
68
@Override
69
public
int
previousIndex
() {
70
return
nextIndex
- 1;
71
}
72
73
@Override
74
public
void
remove
() {
75
if
(
currentIndex
< 0)
throw
new
IllegalStateException();
76
table
.remove(
currentIndex
);
77
end
--;
78
if
(
currentIndex
<
nextIndex
) {
79
nextIndex
--;
80
}
81
currentIndex
= -1;
82
}
83
84
@Override
85
public
void
set
(E e) {
86
if
(
currentIndex
>= 0) {
87
table
.set(
currentIndex
, e);
88
}
else
{
89
throw
new
IllegalStateException();
90
}
91
}
92
93
}
javolution
javolution.util.internal.table.TableIteratorImpl.hasPrevious
boolean hasPrevious()
Definition:
TableIteratorImpl.java:45
javolution.util.service
Definition:
BitSetService.java:9
javolution.util.internal.table.TableIteratorImpl
Definition:
TableIteratorImpl.java:19
javolution.util.internal.table.TableIteratorImpl.previous
E previous()
Definition:
TableIteratorImpl.java:62
javolution.util.internal.table.TableIteratorImpl.nextIndex
int nextIndex
Definition:
TableIteratorImpl.java:23
javolution.util.internal.table.TableIteratorImpl.table
final TableService< E > table
Definition:
TableIteratorImpl.java:24
javolution.util.internal.table.TableIteratorImpl.next
E next()
Definition:
TableIteratorImpl.java:50
javolution.util.internal.table.TableIteratorImpl.previousIndex
int previousIndex()
Definition:
TableIteratorImpl.java:69
javolution.util.internal.table.TableIteratorImpl.TableIteratorImpl
TableIteratorImpl(TableService< E > table, int index)
Definition:
TableIteratorImpl.java:26
javolution.util.internal.table.TableIteratorImpl.nextIndex
int nextIndex()
Definition:
TableIteratorImpl.java:57
javolution.util.internal.table.TableIteratorImpl.hasNext
boolean hasNext()
Definition:
TableIteratorImpl.java:40
javolution.util.service.TableService
Definition:
TableService.java:21
javolution.util.internal.table.TableIteratorImpl.end
int end
Definition:
TableIteratorImpl.java:22
javolution.util.internal.table.TableIteratorImpl.add
void add(E e)
Definition:
TableIteratorImpl.java:33
javolution.util
Definition:
FastBitSet.java:9
javolution.util.internal.table.TableIteratorImpl.currentIndex
int currentIndex
Definition:
TableIteratorImpl.java:21
core-java
src
main
java
javolution
util
internal
table
TableIteratorImpl.java
Generated by
1.8.18