From 7ccc8701b4b02cc6fa0fd5e69afac58240593b92 Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Mon, 2 May 2016 10:58:10 +0200 Subject: Collection,IterableArray: add insert(E, int) --- core/src/ch/asynk/rustanddust/engine/util/Collection.java | 2 ++ core/src/ch/asynk/rustanddust/engine/util/IterableArray.java | 10 ++++++++++ 2 files changed, 12 insertions(+) (limited to 'core/src/ch/asynk') diff --git a/core/src/ch/asynk/rustanddust/engine/util/Collection.java b/core/src/ch/asynk/rustanddust/engine/util/Collection.java index 67ea169e..1feb9376 100644 --- a/core/src/ch/asynk/rustanddust/engine/util/Collection.java +++ b/core/src/ch/asynk/rustanddust/engine/util/Collection.java @@ -20,6 +20,8 @@ public interface Collection extends Iterator, Iterable public boolean add(E e); + public boolean insert(E e, int idx); + public E remove(int idx); public boolean remove(E e); diff --git a/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java b/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java index f1473ddb..08acb786 100644 --- a/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java +++ b/core/src/ch/asynk/rustanddust/engine/util/IterableArray.java @@ -90,6 +90,16 @@ public class IterableArray implements Collection return true; } + @Override + public boolean insert(E e, int idx) + { + ensureCapacity(s + 1); + System.arraycopy(data, idx, data, idx+1, (s - idx)); + data[idx] = e; + s += 1; + return true; + } + @Override public E remove(int i) { -- cgit v1.2.3