diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-14 21:12:07 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-17 16:52:39 +0100 |
| commit | 0f9ef005f063198ea2e16ca36beaead4bd5e3824 (patch) | |
| tree | 4ec2f53e900d4cbe9e5258bca48ec0938a8a1762 /dotnet/Mammoth/Couscous/java/util/ArrayList.cs | |
| parent | 490f87c92ff1618591d1932f23613740e79dcb4b (diff) | |
Add .NET output
Diffstat (limited to 'dotnet/Mammoth/Couscous/java/util/ArrayList.cs')
| -rw-r--r-- | dotnet/Mammoth/Couscous/java/util/ArrayList.cs | 49 |
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; + } + } +} |
