日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

集合(List)

發布時間:2024/4/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 集合(List) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

*java.util.ArrayList:實現List接口,采用線性結構進行存儲,可變長度的數組.
java.util.Vector:實現List接口,采用線性結構進行存儲
* ArrayList和Vector的區別:
* ArrayList:非線程安全的,效率較高
* Vector:線程安全,效率較低,如果在多線程程序中推薦使用Vector
*不唯一,有序
*使用場景:遍歷或隨機訪問時效率較高,添加和刪除元素需要大量移動位置,效率較低
*常見操作:
*添加:
*add(E e):將指定的元素添加到此列表的尾部。
*add(int index, E element):將指定的元素插入此列表中的指定位置。
*查詢:
*get(int index):返回此列表中指定位置上的元素。
*刪除:
*remove(int index):移除此列表中指定位置上的元素。
*修改:
*set(int index, E element):用指定的元素替代此列表中指定位置上的元素。
*其他:
*size():返回此列表中的元素數。
*isEmpty():如果此列表中沒有元素,則返回 true
List list = new ArrayList();//向上轉型

?

?


* -------Collection接口-------
*--List接口:可重復,有序
*----ArrayList類
*--Set接口 :不可重復,無序
*
*java.util.Iterator:對 collection 進行迭代的迭代器
*hasNext(): 如果仍有元素可以迭代,則返回 true。
*next() : 返回迭代的下一個元素
*
*Collection常用方法:
*addAll(Collection<? extends E> c):將指定 collection 中的所有元素都添加到此 collection 中(可選操作)。
*iterator():返回在此 collection 的元素上進行迭代的迭代器。
*clear():移除此 collection 中的所有元素(可選操作)。
*contains(Object o):如果此 collection 包含指定的元素,則返回 true。

?

?


泛型:
* 語法:List<E> list = new ArrayList<E>();
* 優點:
* 避免獲取元素時強制轉型
* 消除黃色警告.
* 將用戶輸入的5個整數轉換成2進制輸出

?

?


* List接口繼承了Collection接口
* LinkedList類:實現了List接口,采用的鏈表結構進行存儲。
* 使用場景:
* 添加刪除元素時效率較高,遍歷和隨機訪問時效率較低
* 特有方法:
* addFirst(E e) 將指定元素插入此列表的開頭。
addLast(E e) 將指定元素添加到此列表的結尾。
removeFirst() 移除并返回此列表的第一個元素。
removeLast() 移除并返回此列表的最后一個元素。
getFirst() 返回此列表的第一個元素。
getLast() 返回此列表的最后一個元素。
public class TestLinkedList {
public static void main(String[] args) {
// List<String> list = new LinkedList<String>();//向上轉型
LinkedList<String> list = new LinkedList<String>();
list.add("java");
list.add("oracle");
list.add("html");
list.addFirst("C");
list.addLast("jsp");
list.add("mysql");
list.add("struts2");
list.removeFirst();
list.removeLast();
for (String string : list) {
System.out.println(string);
}
System.out.println("*************");
System.out.println("第一個元素:"+list.getFirst());
System.out.println("最后一個元素:"+list.getLast());
}
}

?

?

?

* List接口:
* --ArrayList
* --LinkedList
* --Vector
* ----Stack
* java.util.Stack類:繼承Vector類
* push(E item):把項壓入堆棧頂部。
* pop() 移除堆棧頂部的對象,并作為此函數的值返回該對象。
*
*棧:一種特殊存儲結構,滿足后進先出的特性,類似于生活中"彈夾"(第一個壓進去的最一個彈出)
*先進后出(First In Last Out)-->FILO
* 后進先出(Last In Frist Out)-->LIFO *
*操作:
* 壓棧:push
* 出棧(彈棧):pop
*/
public class MyStack {
LinkedList list = new LinkedList();
/**
* 壓棧的操作
*/
public void push(Object obj){
// list.addLast(obj);
list.addFirst(obj);
}

/**
* 出棧的操作
* @return:返回并移除棧頂的元素
*/
public Object pop(){
// Object obj= = list.removeLast();
Object obj =list.removeFirst();
return obj;
}

public static void main(String[] args) {
// Stack<String> stack = new Stack<String>();
// stack.push("java");
// stack.push("oracle");
// stack.push("html");
// for (int i = 0; i < 3; i++) {
// String el=stack.pop();
// System.out.println(el);
// }
MyStack stack = new MyStack();
stack.push("java");
stack.push("oracle");
stack.push("html");
for (int i = 0; i < 3; i++) {
Object obj=stack.pop();
System.out.println(obj);
}
}
}

?

轉載于:https://www.cnblogs.com/seePoppy/p/6745288.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的集合(List)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。