【JAVA集合】List集合
1.List接口介紹
java.util.List接口繼承自Collection接口,是單列集合的一個(gè)重要分支,習(xí)慣性地會(huì)將實(shí)現(xiàn)了List接口的對(duì)象稱為L(zhǎng)ist集合。在List集合中允許出現(xiàn)重復(fù)的元素,所有的元素是以一種線性方式進(jìn)行存儲(chǔ)的,在程序中可以通過(guò)索引來(lái)訪問(wèn)集合中的指定元素。另外,List集合還有一個(gè)特點(diǎn)就是元素有序,即元素的存入順序和取出順序一致。
看完API,我們總結(jié)一下:
List接口特點(diǎn):
tips:已經(jīng)學(xué)習(xí)過(guò)List接口的子類java.util.ArrayList類,該類中的方法都是來(lái)自List中定義。
2.List接口中常用方法
List作為Collection集合的子接口,不但繼承了Collection接口中的全部方法,而且還增加了一些根據(jù)元素索引來(lái)操作集合的特有方法,如下:
- public void add(int index, E element): 將指定的元素,添加到該集合中的指定位置上。
- public E get(int index):返回集合中指定位置的元素。
- public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
- public E set(int index, E element):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。
List集合特有的方法都是跟索引相關(guān):
public class ListDemo {public static void main(String[] args) {// 創(chuàng)建List集合對(duì)象List<String> list = new ArrayList<String>();// 往 尾部添加 指定元素list.add("圖圖");list.add("小美");list.add("不高興");System.out.println(list);// add(int index,String s) 往指定位置添加list.add(1,"沒(méi)頭腦");System.out.println(list);// String remove(int index) 刪除指定位置元素 返回被刪除元素// 刪除索引位置為2的元素 System.out.println("刪除索引位置為2的元素");System.out.println(list.remove(2));System.out.println(list);// String set(int index,String s)// 在指定位置 進(jìn)行 元素替代(改) // 修改指定位置元素list.set(0, "三毛");System.out.println(list);// String get(int index) 獲取指定位置元素// 跟size() 方法一起用來(lái)遍歷的 for(int i = 0;i<list.size();i++){System.out.println(list.get(i));}//還可以使用增強(qiáng)forfor (String string : list) {System.out.println(string);} } }3.ArrayList集合
java.util.ArrayList集合數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)是數(shù)組結(jié)構(gòu)。元素增刪慢,查找快,由于日常開(kāi)發(fā)中使用最多的功能為查詢數(shù)據(jù)、遍歷數(shù)據(jù),所以ArrayList是最常用的集合。
許多程序員開(kāi)發(fā)時(shí)非常隨意地使用ArrayList完成任何需求,并不嚴(yán)謹(jǐn),這種用法是不提倡的。
4.LinkedList集合
java.util.LinkedList集合數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)是鏈表結(jié)構(gòu)。方便元素添加、刪除的集合。
LinkedList是一個(gè)雙向鏈表,那么雙向鏈表是什么樣子的呢,我們用個(gè)圖了解下
實(shí)際開(kāi)發(fā)中對(duì)一個(gè)集合元素的添加與刪除經(jīng)常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。這些方法我們作為了解即可:
- public void addFirst(E e):將指定元素插入此列表的開(kāi)頭。
- public void addLast(E e):將指定元素添加到此列表的結(jié)尾。
- public E getFirst():返回此列表的第一個(gè)元素。
- public E getLast():返回此列表的最后一個(gè)元素。
- public E removeFirst():移除并返回此列表的第一個(gè)元素。
- public E removeLast():移除并返回此列表的最后一個(gè)元素。
- public E pop():從此列表所表示的堆棧處彈出一個(gè)元素。
- public void push(E e):將元素推入此列表所表示的堆棧。
- public boolean isEmpty():如果列表不包含元素,則返回true。
LinkedList是List的子類,List中的方法LinkedList都是可以使用,這里就不做詳細(xì)介紹,我們只需要了解LinkedList的特有方法即可。在開(kāi)發(fā)時(shí),LinkedList集合也可以作為堆棧,隊(duì)列的結(jié)構(gòu)使用。
public class Demo04LinkedList {public static void main(String[] args) {method4();}/** void push(E e): 壓入。把元素添加到集合的第一個(gè)位置。* E pop(): 彈出。把第一個(gè)元素刪除,然后返回這個(gè)元素。*/public static void method4() {//創(chuàng)建LinkedList對(duì)象LinkedList<String> list = new LinkedList<>();//添加元素list.add("達(dá)爾文");list.add("達(dá)芬奇");list.add("達(dá)爾優(yōu)");System.out.println("list:" + list);//調(diào)用push在集合的第一個(gè)位置添加元素//list.push("愛(ài)迪生");//System.out.println("list:" + list);//[愛(ài)迪生, 達(dá)爾文, 達(dá)芬奇, 達(dá)爾優(yōu)]//E pop(): 彈出。把第一個(gè)元素刪除,然后返回這個(gè)元素。String value = list.pop();System.out.println("value:" + value);//達(dá)爾文System.out.println("list:" + list);//[達(dá)芬奇,達(dá)爾優(yōu)]}/** E removeFirst():刪除第一個(gè)元素* E removeLast():刪除最后一個(gè)元素。*/public static void method3() {//創(chuàng)建LinkedList對(duì)象LinkedList<String> list = new LinkedList<>();//添加元素list.add("達(dá)爾文");list.add("達(dá)芬奇");list.add("達(dá)爾優(yōu)");//刪除集合的第一個(gè)元素 // String value = list.removeFirst(); // System.out.println("value:" + value);//達(dá)爾文 // System.out.println("list:" + list);//[達(dá)芬奇,達(dá)爾優(yōu)]//刪除最后一個(gè)元素String value = list.removeLast();System.out.println("value:" + value);//達(dá)爾優(yōu)System.out.println("list:" + list);//[達(dá)爾文, 達(dá)芬奇]}/** E getFirst(): 獲取集合中的第一個(gè)元素* E getLast(): 獲取集合中的最后一個(gè)元素*/public static void method2() {//創(chuàng)建LinkedList對(duì)象LinkedList<String> list = new LinkedList<>();//添加元素list.add("達(dá)爾文");list.add("達(dá)芬奇");list.add("達(dá)爾優(yōu)");System.out.println("list:" + list);//獲取集合中的第一個(gè)元素System.out.println("第一個(gè)元素是:" + list.getFirst());//獲取集合中的最后一個(gè)元素怒System.out.println("最后一個(gè)元素是:" + list.getLast());} /** void addFirst(E e): 在集合的開(kāi)頭位置添加元素。* void addLast(E e): 在集合的尾部添加元素。*/public static void method1() {//創(chuàng)建LinkedList對(duì)象LinkedList<String> list = new LinkedList<>();//添加元素list.add("達(dá)爾文");list.add("達(dá)芬奇");list.add("達(dá)爾優(yōu)");//打印這個(gè)集合System.out.println("list:" + list);//[達(dá)爾文, 達(dá)芬奇, 達(dá)爾優(yōu)]//調(diào)用addFirst添加元素list.addFirst("曹操");System.out.println("list:" + list);//[曹操, 達(dá)爾文, 達(dá)芬奇, 達(dá)爾優(yōu)]//調(diào)用addLast方法添加元素list.addLast("大喬");System.out.println("list:" + list);//[曹操, 達(dá)爾文, 達(dá)芬奇, 達(dá)爾優(yōu), 大喬]} }總結(jié)
以上是生活随笔為你收集整理的【JAVA集合】List集合的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Chapter6 胞内信号网络
- 下一篇: 银行数据标准管理