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
深圳