Sfoglia il codice sorgente

VirtualList - few methods changed to "final"

Ranides Atterwim 10 anni fa
parent
commit
17b46355e7

+ 12 - 10
assira/src/main/java/net/ranides/assira/collection/lists/VirtualList.java

@@ -60,13 +60,13 @@ public abstract class VirtualList<T> extends AbstractList<T> implements RandomAc
     }
 
     @Override
-    public Iterator<T> iterator() {
+    public final Iterator<T> iterator() {
         return listIterator();
     }
 
     @Override
-    public boolean containsAll(Collection<?> values) {
-        // we don't use this.contains to avoid iteration over list many times
+    public final boolean containsAll(Collection<?> values) {
+        // we don't use this#contains to avoid iteration over list many times
         Set<?> set = new HashSet<>(values);
         ListIterator<? extends T> iterator = listIterator();
         while(iterator.hasNext()) {
@@ -77,8 +77,8 @@ public abstract class VirtualList<T> extends AbstractList<T> implements RandomAc
     }
 
     @Override
-    public boolean removeAll(Collection<?> values) {
-        // we don't use this.remove to avoid iteration over list many times
+    public final boolean removeAll(Collection<?> values) {
+        // we don't use this#remove to avoid iteration over list many times
         boolean modified = false;
         Set<?> set = new HashSet<>(values);
         ListIterator<? extends T> iterator = listIterator();
@@ -93,8 +93,8 @@ public abstract class VirtualList<T> extends AbstractList<T> implements RandomAc
     }
 
     @Override
-    public boolean retainAll(Collection<?> values) {
-        // we don't use this.remove&this.contains to avoid iteration over list many times
+    public final boolean retainAll(Collection<?> values) {
+        // we don't use this#remove & this#contains to avoid iteration over list many times
         boolean modified = false;
         Set<?> set = new HashSet<>(values);
         ListIterator<? extends T> iterator = listIterator();
@@ -109,19 +109,19 @@ public abstract class VirtualList<T> extends AbstractList<T> implements RandomAc
     }
 
     @Override
-    public ListIterator<T> listIterator() {
+    public final ListIterator<T> listIterator() {
         // faster than default, but without concurrent "fail fast" 
         return new IIterator(0);
     }
 
     @Override
-    public ListIterator<T> listIterator(int index) {
+    public final ListIterator<T> listIterator(int index) {
         // faster than default, but without concurrent "fail fast" 
         return new IIterator(index);
     }
 
     @Override
-    public List<T> subList(int begin, int end) {
+    public final List<T> subList(int begin, int end) {
         // we use "our implementation" because we want to provide overriden #containsAll / #removeAll etc
         return new SubList<>(this, begin, end);
     }
@@ -160,6 +160,8 @@ public abstract class VirtualList<T> extends AbstractList<T> implements RandomAc
     }
 
     private static class SubList<Q> extends VirtualList<Q> {
+        
+        private static final long serialVersionUID = 1L;
 
         private final List<Q> list;
         private final int begin;

+ 0 - 2
assira/src/test/java/net/ranides/assira/collection/suite/maps/MapTester.java

@@ -998,8 +998,6 @@ public final class MapTester<K,V> {
         assertEquals(0, target.size());
 	}
     
-    // @todo (assira #8) test: MapTester NULL keys & values
-    
     private void assertRemove(Map<K,V> target, TItem<K,V> item) {
         int size = target.size();
         assertEquals(item.value(), target.remove(item.key()));