java之List的实现类ArrayList

时间:2022-02-06 04:16:53

 ArrayList  动态数组

ArrrayList和LinkedList 的区别:

数据存储方式不一样,称为不同的数据结构

ArrayList:基于数组实现的,连续的存放的,其查找速度比较快,增加或删除元素比较慢;

LinkedList:基于链表实现的,不是连续的存放的,存储的位置是零散的,其查找速度比较慢,增加或者删除元素比较较快;

但是ArrayList和LinkedList的用法完全相同;

Vector 向量 :基于数组实现的,但是已经过时了,现在都用ArrayList;


package javastudy;


import java.util.ArrayList;
import java.util.Iterator;


public class Testit {


public static void main(String[] args) {

ArrayList<String> a = new ArrayList<String>();
a.add("湖南");
a.add("北京");
a.add("深圳");
a.add(0, "湖北");//a的数组最大的索引为2,那么插入3就只能放在最大索引2的后面,但是插入只能接在索引的后面,不能跳着插入
print1(a);
a.set(2, "Beijing");
System.out.println("------------");
print1(a);

System.out.println("------------");
        print2(a);  
}
   static void print1(ArrayList<String> a)
   {
  for(int i =0;i<a.size();i++)
  {
  System.out.println(a.get(i));
  }
   }
   
   static void print2(ArrayList<String>a)
   {   
  Iterator<String>  it = a.iterator();//通过iterator遍历器借助while可以遍历数组,遍历器相当于指针,遍历就是循环查找所有的元素
  
  while(it.hasNext())//查找下一个元素是否存在
  {
  System.out.println(it.next());//是的话,就输出它
  }
   }
   
}




输出结果:

湖北
湖南
北京
深圳
------------
湖北
湖南
Beijing
深圳
------------
湖北
湖南
Beijing
深圳