java中List聚集及其遍歷詳解。本站提示廣大學習愛好者:(java中List聚集及其遍歷詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是java中List聚集及其遍歷詳解正文
1. 起首List<E>聚集繼續與Collection<E>,是一個接口。
① Collection (聚集框架是JDK1.2版本湧現的)
② list:是有序的,元素可以反復,認為該聚集系統有索引。
常常用到的是完成該接口的ArrayList和LinkedList類
③ Arraylist: 底層的數據構造應用的是數組構造,
特色: 查詢速度很快,然則增刪稍慢。線程分歧步
LinkedList: 底層應用的是鏈表數據構造。
特色: 增刪速度很快,查詢稍慢。
Vector:(JDK1.0版本湧現的) 底層是數組數據構造,線程同步。被ArrayList替換了。(曾經不消了)
2. List的兩種遍歷方法:
public class Demo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
System.out.println("........第一種遍歷方法:for遍歷......");
for (Object li : list) {
System.out.println(li);
}
System.out.println("........第二種遍歷方法:ListIterator迭代遍歷......");
ListIterator<String> it = list.listIterator();
while (it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
}
}
}
後果圖:
3.應用LinkList模仿一個客棧或許隊列數據構造。即: 客棧:先輩後出 ; 隊列: 先輩先出
class Duilie{
private LinkedList<Object> link;
Duilie(){
link = new LinkedList<Object>();
}
public void myAdd(Object obj){
link.addFirst(obj);
}
public Object myGet(){
return link.removeLast();//先輩先出---若要改成先輩後出,將removelast()改成removeFirst()
}
public boolean isNull(){
return link.isEmpty();
}
}
public class Demo2 {
public static void main(String[] args) {
Duilie dl = new Duilie();
dl.myAdd("java01");
dl.myAdd("java02");
dl.myAdd("java03");
dl.myAdd("java04");
while(!dl.isNull()){
System.out.println(dl.myGet());
}
}
}
後果圖:
以上為 先輩先出,若要改成先輩後出,則依據代碼中寫的改一下便可以了
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。