Java Reference
In-Depth Information
99
100
return
e;
101 }
102
103 @Override
/** Replace the element at the specified position
104
* in this list with the specified element. */
105
public
E set(
int
index, E e) {
106 checkIndex(index);
107 E old = data[index];
108 data[index] = e;
109
set
return
old;
110 }
111
112 @Override
113
public
String toString() {
114 StringBuilder result =
new
StringBuilder(
"["
);
115
116
for
(
int
i =
0
; i < size; i++) {
117 result.append(data[i]);
118
toString
if
(i < size -
1
) result.append(
", "
);
119 }
120
121
return
result.toString() +
"]"
;
122 }
123
124
/** Trims the capacity to current size */
125
public void
trimToSize() {
126
if
(size != data.length) {
127 E[] newData = (E[])(
new
Object[size]);
128 System.arraycopy(data,
0
, newData,
0
, size);
129 data = newData;
130 }
// If size == capacity, no need to trim
131 }
132
133 @Override
/** Override iterator() defined in Iterable */
134
trimToSize
public
java.util.Iterator<E> iterator() {
iterator
135
return new
ArrayListIterator();
136 }
137
138
private class
ArrayListIterator
139
implements
java.util.Iterator<E> {
140
private int
current =
0
;
// Current index
141
142 @Override
143
public boolean
hasNext() {
144
return
(current < size);
145 }
146
147 @Override
148
public
E next() {
149
return
data[current++];
150 }
151
152 @Override
153
public void
remove() {
154 MyArrayList.
this
.remove(current);
155 }
156 }
157 }
Search WWH ::
Custom Search