Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package list;
- /**
- * Implementation of List, which stores values into an array
- *
- * @author (Patrick Foltyn)
- * @version (Fall 2016)
- */
- public class ArrayList<E> implements List<E>
- {
- int size = 0;
- E[] values;
- /** cap is equal to initial size of List*/
- public ArrayList(int cap){
- values = (E[])new Object[cap];
- }
- public ArrayList(){
- this(20); //default ArrayList with 10 values
- }
- public ArrayList(List<E> list){
- values = (E[])new Object[10];
- addAll(list);
- }
- public int size(){
- return size;
- }
- public boolean isEmpty(){
- if(size == 0)
- return true;
- return false;
- }
- public void clear(){
- size = 0;
- }
- public void add(E value){
- add(size,value);
- }
- public void add(int ndx, E value){
- if(values.length==size)
- alloc();
- for(int i = size-1; i >= ndx; i--)
- values[i+1]=values[i];
- values[ndx]=value;
- size++;
- }
- public E get(int ndx){
- return values[ndx];
- }
- public E set(int ndx, E value){
- E result = values[ndx];
- values[ndx] = value;
- return result;
- }
- public E remove(int ndx){
- E result = values[ndx];
- for(int i = ndx; i < size-1; i++)
- values[i] = values[i+1];
- size--;
- return result;
- }
- private void alloc(){
- E[] temp = (E[]) new Object[2*values.length];
- for(int i = 0; i < size; i++)
- temp[i]=values[i];
- values = temp;
- }
- public int indexOf(Object obj){
- return indexOf(obj,0);
- }
- private int indexOf(Object obj, int start){
- if(start >= size)
- return -1;
- if(values[start]. equals(obj))
- return start;
- return indexOf(obj, start + 1);
- }
- public boolean contains(Object obj){
- if(indexOf(obj) == -1)
- return false;
- else{
- return true;
- }
- }
- public boolean remove(Object obj){
- if(indexOf(obj) == -1)
- return false;
- else{
- remove(indexOf(obj));
- return true;
- }
- }
- public String toString(){
- String outs = "[]";
- if(size == 0)
- return outs;
- else{
- outs = "[" + values[0];
- for(int i = 1; i < size; i++){
- outs = outs + "," + values[i] ;
- }
- return outs + "]";}
- }
- public boolean equals(Object other){
- ArrayList othersList;
- if(other instanceof ArrayList)
- othersList = (ArrayList)other;
- else{
- return false;
- }
- if(othersList.size() == size){
- for(int i = 0; i < size; i++){
- if(!othersList.get(i).equals(values[i]))
- return false;
- }
- return true;
- }
- return false;
- }
- public Iterator<E> iterator(){
- return new ArrayIterator<E>(this);
- }
- public ListIterator<E> listIterator(){
- return new ArrayListIterator<E>(this);
- }
- public ListIterator<E> listIterator(int start){
- return new ArrayListIterator<E>(this,start);
- }
- public boolean containsNull(){
- for(int i = 0; i < size; i++)
- if(get(i) == null)
- return true;
- return false;
- }
- public void addAll(List<E> other){
- Iterator<E> itty = other.iterator();
- while(itty.hasNext())
- add(itty.next());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement