aboutsummaryrefslogtreecommitdiff
path: root/dotnet/Mammoth/Couscous/java/util/ArrayList.cs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-14 21:12:07 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-17 16:52:39 +0100
commit0f9ef005f063198ea2e16ca36beaead4bd5e3824 (patch)
tree4ec2f53e900d4cbe9e5258bca48ec0938a8a1762 /dotnet/Mammoth/Couscous/java/util/ArrayList.cs
parent490f87c92ff1618591d1932f23613740e79dcb4b (diff)
Add .NET output
Diffstat (limited to 'dotnet/Mammoth/Couscous/java/util/ArrayList.cs')
-rw-r--r--dotnet/Mammoth/Couscous/java/util/ArrayList.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/dotnet/Mammoth/Couscous/java/util/ArrayList.cs b/dotnet/Mammoth/Couscous/java/util/ArrayList.cs
new file mode 100644
index 0000000..4414123
--- /dev/null
+++ b/dotnet/Mammoth/Couscous/java/util/ArrayList.cs
@@ -0,0 +1,49 @@
+using Mammoth.Couscous.java.lang;
+using Mammoth.Couscous.java.util;
+
+namespace Mammoth.Couscous.java.util {
+ internal class ArrayList<T> : List<T> {
+ private readonly System.Collections.Generic.IList<T> _list;
+
+ internal ArrayList() : this(new System.Collections.Generic.List<T>()) {
+ }
+
+ internal ArrayList(System.Collections.Generic.IList<T> list) {
+ _list = list;
+ }
+
+ public Iterator<T> iterator() {
+ return ToJava.EnumeratorToIterator(_list.GetEnumerator());
+ }
+
+ public bool isEmpty() {
+ return _list.Count == 0;
+ }
+
+ public int size() {
+ return _list.Count;
+ }
+
+ public bool contains(object value) {
+ return value is T && _list.Contains((T) value);
+ }
+
+ public T get(int index) {
+ if (index < 0 || index >= _list.Count) {
+ throw new IndexOutOfBoundsException();
+ } else {
+ return _list[index];
+ }
+ }
+
+ public void add(T value) {
+ _list.Add(value);
+ }
+
+ public T remove(int index) {
+ T value = _list[index];
+ _list.RemoveAt(index);
+ return value;
+ }
+ }
+}