列表特征:规则的Collection元素可以重复主要实现ArrayList (不支持同步)链接列表(不支持同步) Vector )
好处
缺点
适用范围
特征ArrayList LinkedList Vector以可变数组实现的列表,不支持同步
在双向链表中实现的列表不支持同步在可变数组中实现的列表。 支持同步。 适合多线程使用。 索引位置使您可以快速确定和高效访问访问顺序。 中间插入和删除有效地支持多线程指定位置的插入和删除。 删除效率不高
在随机索引访问效率较低的异步中优先采用ArrayList,这一点变化不大,主要适用于查询中使用的数据。 适用于频繁更改的数据。 当多线程容器已满时,容器大小将自动扩展50%,并根据删除情况随时更改
ArrayList1.创建arraylistintegerarraylist=new ArrayList (;
2 .基本操作(1) addarraylist.add ) 1;
Arraylist.add(2; //添加到末尾
Arraylist.add(newinteger(5);
Arraylist.add(9; //自动包装,将int类型9包装在Integer中
ArrayList.add (1,3 ); //如果在索引位置为1处添加3,则添加元素成为第二个元素
(2)删除removearraylist.remove ) 2; //删除索引位置为2的元素时,第三个元素被删除
)3)清除)4)复制并复制“=”,但实际上这两个变量指向同一对象,即使删除或添加了arraylist2,arraylist也会发生相同的变化。 也就是说,两个指针操作同一对象
arraylistintegerarraylist2=new ArrayList (;
arraylist2=arraylist;
Arraylist2.remove(1;
“克隆”进行复制,arraylist2指向新生成的对象,相互不干扰
arraylistintegerarraylist2=new ArrayList (;
Arraylist2=(Arraylistinteger ) arraylist.clone );
Arraylist2.remove(1;
)5) Arraylist=(Arraylistinteger ) ArrayList.sublist (1,3 ); //由原始列表中第2-4个元素组成的列表
(6)获取元素位置int a=arraylist.indexOf(3)3); //首次出现的位置
intb=Arraylist.lastindexof(3; //最后出现的位置
3 .遍历(1) for循环遍历for(integeritem:arraylist ) )
system.out.println(item;
}
)2) for循环索引扫描for(intI=0; iarraylist.size (; I ) {
system.out.println (ArrayList.get (I ) );
}
(3)迭代器为iteratorintegeriterator=ArrayList.iterator (;
while(iterator.Hasnext () ) )。
system.out.println (iterator.next );
}
linked list1.创建linkedlistintegerlinkedlist=new linked list ();
2 .基本操作(1)在add中添加链接列表. add (1) 1;
链接列表. add (2; //添加到末尾
链接列表. add (new integer (5) );
链接列表. add (9; //自动包装,将int类型9包装在Integer中
linked list.add (1,3 ); //如果在索引位置为1处添加3,则添加元素成为第二个元素
(2)移除linkedlist.remove(2) 2; //删除索引位置为2的元素时,第三个元素被删除
linkedlist.remove (; //删除列表的开头要素
)3)清除)4)复制和复制“=”,但实际上如果两个变量指向同一对象,并且linkedlist2被删除或添加,linkedlist也会发生相同的变化。 也就是说,两个指针操作同一对象
linkedlistintegerlinkedlist2=new linked list (;
链接列表2=链接列表;
链接列表2.remove (1;
“克隆”进行复制,链接列表2指向新生成的对象,彼此不干扰
linkedlistintegerlinkedlist2=new linked list (;
链接列表2=(链接列表集成器)链接列表. clone );
链接列表2.remove (1;
(5)获取元素位置int a=链接列表. index of (3)3); //首次出现的位置
intb=linkedlist.lastindexof(3; //最后出现的位置
3 .遍历(1) for循环遍历for (integer item :链接列表) )
system.out.println(item;
}
)2) for循环索引扫描for(intI=0; ilinkedlist.size (; I ) {
system.out.println (链接列表. get (I ) );
}
(3)迭代器为iteratorintegeriterator=linked list.iterator (;
while(iterator.Hasnext () ) )。
system.out.println (iterator.next );
}