如何将以下类更改为使用ArrayList和LinkedList的类?

时间:2018-04-30 03:53:17

标签: java arraylist linked-list

我对ArrayList和LinkedList

感到困惑

给我一​​些关于java的LinkedList和ArrayList的解释。

1 个答案:

答案 0 :(得分:0)

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类并实现了List和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-arraylist-and-linkedlist