Explorar o código

IntMultiMap - default methods

Ranides Atterwim %!s(int64=10) %!d(string=hai) anos
pai
achega
c4928124fa

+ 0 - 25
assira/src/main/java/net/ranides/assira/collection/maps/IntHashMultiMap.java

@@ -149,32 +149,17 @@ public class IntHashMultiMap<V> extends AIntHashMap<V> implements IntMultiMap<V>
         return new MCollection(key);
     }
 
-    @Override
-    public final Collection<V> getAll(Object key) {
-        return getAll(((Integer)key).intValue());
-    }
-
     @Override
     public V get(int key, Fold<V> fold) {
         return fold.apply(new MIterator(key));
     }
 
-    @Override
-    public V get(Object key, Fold<V> fold) {
-        return get(((Integer)key).intValue(), fold);
-    }
-
     @SuppressWarnings("unchecked")
     @Override
     public boolean containsEntry(int key, Object value) {
         return used[ifind(key, (V)value)];
     }
 
-    @Override
-    public boolean containsEntry(Object key, Object value) {
-        return containsEntry(((Integer)key).intValue(), value);
-    }
-
     @Override
     public void putAll(int key, Iterable<? extends V> values) {
         for(V value : values) {
@@ -182,11 +167,6 @@ public class IntHashMultiMap<V> extends AIntHashMap<V> implements IntMultiMap<V>
         }
     }
 
-    @Override
-    public void putAll(Integer key, Iterable<? extends V> values) {
-        putAll(key.intValue(), values);
-    }
-
     @Override
     public Collection<V> removeAll(int key) {
         List<V> list = new ArrayList<>();
@@ -197,11 +177,6 @@ public class IntHashMultiMap<V> extends AIntHashMap<V> implements IntMultiMap<V>
         return list;
     }
 
-    @Override
-    public Collection<V> removeAll(Object key) {
-        return removeAll(((Integer)key).intValue());
-    }
-    
     private class MCollection extends ACollection<V> {
         
         private final int key;

+ 26 - 0
assira/src/main/java/net/ranides/assira/collection/maps/IntMultiMap.java

@@ -25,4 +25,30 @@ public interface IntMultiMap<V> extends IntMap<V>, MultiMap<Integer, V> {
 
     Collection<V> removeAll(int key);
     
+    @Override
+    default Collection<V> getAll(Object key) {
+        return getAll(((Integer)key).intValue());
+    }
+    
+    @Override
+    default V get(Object key, Fold<V> fold) {
+        return get(((Integer)key).intValue(), fold);
+    }
+    
+    @Override
+    default boolean containsEntry(Object key, Object value) {
+        return containsEntry(((Integer)key).intValue(), value);
+    }
+
+    @Override
+    default void putAll(Integer key, Iterable<? extends V> values) {
+        putAll(key.intValue(), values);
+    }
+    
+    @Override
+    default Collection<V> removeAll(Object key) {
+        return removeAll(((Integer)key).intValue());
+    }
+    
+    
 }