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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

list中的linkedlist的用法

發布時間:2025/3/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 list中的linkedlist的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

list中的linkedlist的用法:

LinkedList是list接口的鏈表實現方式。

LinkedList類為在鏈表的開頭及結尾獲取(get)、刪除(remove)、和插入(insert)元素提供了統一的命名方法,這些操作允許將ListedList用作堆棧、隊列或雙端隊列。

此實現不是同步的。此類的iterator和listIterator方法返回的迭代器是快速失敗的:在迭代器創建之后,如果從結構上對列表進行修改,除非通過迭代器本身的remove或add方法,其他任何時間任何方式的修改,迭代器都將拋出ConcurrentModificationException。因此面對并發的修改,迭代器很快就會完全失敗,而不冒將來不確定的時間任意發生不確定行為的風險。

其構造方法有:

1、LinkedList(); ?構造一個空列表

2、LinkedList(c); 構造一個包含指定collection中的元素的列表,這些元素按其collection的迭代器返回的順序排列。

package cn.list.demo;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link1=new LinkedList();link1.addFirst("abc1");link1.addFirst("abc2");link1.addFirst("abc3");System.out.println(link1);LinkedList link2=new LinkedList();link2.addLast("abc4");link2.addLast("abc5");link2.addLast("abc6");System.out.println(link2);LinkedList link=new LinkedList(link1);link.add(link2);System.out.println(link);} }


其中封裝的常用方法:

1、添加:

package cn.list.demo;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link=new LinkedList();/** 添加元素:三種方式* 1、添加到頭部 addFirst(e);* 2、添加到尾部 addLast(e);等同于add(e);* 3、添加到指定位置 add(index,e);*/link.addFirst("abc1");link.addFirst("abc2");link.addFirst("abc3");link.addFirst("abc4");System.out.println(link);link.addLast("abc5");link.addLast("abc6");link.addLast("abc7");link.addLast("abc8");System.out.println(link);link.add("abc5");link.add("abc6");link.add("abc7");link.add("abc8");// 添加到下標為5,也即第六個位置link.add(5,"hello word");System.out.println(link);} } 2、刪除:

? ?remove(); ?獲取并移除此列表中的頭元素。

? ?removeFirst(); ?移除并返回此列表的第一個元素。

? ?感覺這兩個方法一樣!

? ?removeLast(); ? 移除并返回列表的最后一個元素。

? ?remove(int index); 移除此列表中指定位置處的元素。

? ?remove(Object o); ?從此列表中移除首次出現的指定元素。

package cn.list.demo;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link=new LinkedList();link.addFirst("abc1");link.addFirst("abc2");link.addFirst("abc3");link.addFirst("abc4");System.out.println(link);link.addLast("abc5");link.addLast("abc6");link.addLast("abc7");link.addLast("abc8");System.out.println(link);link.add("abc5");link.add("abc6");link.add("abc7");link.add("abc8");// 添加到下標為5,也即第六個位置link.add(5,"hello word");System.out.println(link);// 刪除頭元素System.out.println(link.remove());System.out.println(link);System.out.println(link.removeFirst());System.out.println(link);// 刪除最后一個元素System.out.println(link.removeLast());System.out.println(link);// 刪除指定位置的元素System.out.println(link.remove(3));System.out.println(link);// 刪除首次出現的指定元素System.out.println(link.remove("abc7"));System.out.println(link);} } 3、獲取元素:

? ?get(); ?獲取列表中指定位置處的元素。

? ?getFirst(); ?獲取列表中第一個元素。

? ?getLast(); ? 獲取列表中最后一個元素。

用法和刪除方法的用法一樣,get方法只獲取元素,并不刪除元素;而remove方法既獲取該元素,又會將該元素刪除。

4、把LinkedList當作堆棧使用時的一些常用方法:

? ?pop(); ? 從此列表所表示的堆棧處彈出一個元素。

? ?push(); ?將元素推入此列表所表示的堆棧。

? ?clear(); 從列表中移除所有元素。

package cn.list.demo;import java.util.Iterator; import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link=new LinkedList();link.push("abc1");link.push("abc2");link.push("abc3");link.push("abc4");link.push("abc5");// 堆棧while(!link.isEmpty()){System.out.println(link.pop());}System.out.println(link);} }


5、用LinkedList模擬隊列或堆棧的代碼:

package cn.list.demo;import java.util.Iterator; import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){// 創建隊列對象MyQueue myq=new MyQueue();// 給隊列中添加元素myq.myAdd("abc1");myq.myAdd("abc2");myq.myAdd("abc3");myq.myAdd("abc4");myq.myAdd("abc5");while(!myq.isNull()){System.out.println(myq.myGet());}} }
package cn.list.demo;import java.util.LinkedList;/** 自定義的一種隊列數據結構的容器。*/ public class MyQueue {private LinkedList link=null;public MyQueue(){link=new LinkedList();}/** 往隊列中添加元素*/public void myAdd(Object obj){// 調用LinkedList的方法link.addLast(obj);}/** 獲取隊列中元素的方法*/public Object myGet(){return link.removeFirst();}/** 隊列是否為空*/public boolean isNull(){return link.isEmpty();} }

總結

以上是生活随笔為你收集整理的list中的linkedlist的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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