Task: make AList support the for-each syntax. This will require that you make your class implement Iterable.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Task: make AList support the for-each syntax. This will require that you make your class implement Iterable<T>.

 

import java.util.Arrays;
import java.util.Iterator;

public class AList<T>{

private T[] items;
private int size;

public AList() {
items = (T[]) new Object[1];
size = 0;
}

public void addLast(T x) {
//items.length is our capacity

if(size == items.length){

//doubling capacity of array

grow(items.length * 2);
}

items[size] = x;
size++;
}
public void addFirst(T x) {
T[] newItems =(T[]) new Object[items.length+1];

newItems[0] = x;

System.arraycopy(items,0, newItems,1, size);
items = newItems;

size++;

}

public T removeLast(){


T itemToRemove = items[size - 1];
items[size - 1] = null;
size--;

return itemToRemove;

}

public T get(int i) {
return items[i];
}

public T getFirst(){

return items[0];
}

public T getLast(){

return items[size-1];
}

public int size() {
return size;
}

private void grow(int capacity) {
T[] expandedItems = (T[]) new Object[capacity];

System.arraycopy(items, 0, expandedItems, 0, size);
items = expandedItems;
}



public static void main(String[] args) {

AList<Integer> a = new AList();

a.addLast(5);

a.addLast(6);

a.addLast(7);

a.addLast(8);}

}

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY