如何将以下类更改为使用arrayList和linkedList的类



如何将以下类更改为使用arraylist和linkedlist的类?我必须更改此类中的所有代码。

我对arraylist和linkedlist

感到困惑
import java.util.ArrayList;
public class ArrayStack {
    private int maxsize;
    private int top;
    private int[] items;
    public ArrayStack(int maxsize) {
        if (maxsize <= 0)
            throw new ArrayStackException("Stack size must be positive");
        items = new int[maxsize];
        this.maxsize = maxsize;
        top = 0;
    }
    public void push(int item) {
        if (top == items.length)
            throw new ArrayStackException("Overflow Error");
        items[top]=item;
        top++;
    }
    public int pop() {
        if (isEmpty()) 
            throw new ArrayStackException("Underflow Error");
        return items[--top];
    }
    public boolean isEmpty() {
        return (top==0); 
    }
    public static class ArrayStackException extends RuntimeException {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        public ArrayStackException(String message) {
            super(message);
        }
    }
    public static void main (String[] a) {
        ArrayStack stack = new ArrayStack(3);
        stack.push(1);
        stack.push(2);
        stack.push(3);
        // srtack.push(4); //over flow error
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
    }
}

给我一些有关此问题的解释。

arraylist: arrayList是收集框架的一部分,并且存在于java.util包中。它为我们提供了Java的动态阵列。但是,它可能比标准数组慢,但在需要大量阵列中的操纵的程序中有所帮助。

示例:

// Java program to demonstrate working of ArrayList in Java
import java.io.*;
import java.util.*;
class arrayli
{
    public static void main(String[] args)
                       throws IOException
    {
        // size of ArrayList
        int n = 5;
        //declaring ArrayList with initial size n
        ArrayList<Integer> arrli = new ArrayList<Integer>(n);
        // Appending the new element at the end of the list
        for (int i=1; i<=n; i++)
            arrli.add(i);
        // Printing elements
        System.out.println(arrli);
        // Remove element at index 3
        arrli.remove(3);
        // Displaying ArrayList after deletion
        System.out.println(arrli);
        // Printing elements one by one
        for (int i=0; i<arrli.size(); i++)
            System.out.print(arrli.get(i)+" ");
    }
}

linkedlist: Java LinkedList类使用双重链接列表来存储元素。它提供了链接列表的数据结构。它继承了AbstractList类,并实施了列表和Deque界面。

有关Java LinkedList的重要点是:

  • java linkedlist类可以包含重复的元素。
  • Java LinkedList类维护插入顺序。
  • java linkedlist类未同步。
  • 在Java LinkedList类中,操纵很快,因为没有移动需要发生。
  • Java LinkedList类可用作列表,堆栈或队列。

示例:

import java.util.*;  
public class TestCollection7{  
 public static void main(String args[]){  
  LinkedList<String> al=new LinkedList<String>();  
  al.add("Ravi");  
  al.add("Vijay");  
  al.add("Ravi");  
  al.add("Ajay");  
  Iterator<String> itr=al.iterator();  
  while(itr.hasNext()){  
   System.out.println(itr.next());  
  }  
 }  
}  

有关更多差异,您可以参考https://www.javatpoint.com/difference-between-araylist-and-linkedlist

相关内容

  • 没有找到相关文章

最新更新