modifying ListOfThree class

This commit is contained in:
m.raheem
2019-08-06 20:49:10 +02:00
parent 5a1a468c78
commit b43787bca5
2 changed files with 23 additions and 33 deletions

View File

@@ -1,31 +1,31 @@
package com.baeldung.accessmodifiers.publicmodifier;
import java.util.AbstractList;
import java.util.Arrays;
public class ListOfThree<E> extends AbstractList<E> {
private static final int MAX_LENGTH = 3;
private int size;
private Object[] elements = new Object[MAX_LENGTH];
private static final int LENGTH = 3;
private Object[] elements;
public ListOfThree(E[] data) {
if(data == null
|| data.length != LENGTH)
throw new IllegalArgumentException();
this.elements = Arrays.copyOf(data, data.length); //shallow copy
}
@Override
@SuppressWarnings("unchecked")
public E get(int index) {
public E get(int index) {
return (E)elements[index];
}
@Override
public boolean add(E e) {
elements[size] = e;
size++;
return true;
}
@Override
public int size() {
return size;
return LENGTH;
}
}