パッケージリスト; インポートするjava.util.Iterator; インポートjava.util.LinkedList; パブリック クラスLinkedListDemo { 公共 静的 ボイドメイン(文字列[] SRGS){ // LinkedListのストレージint型を作成する のLinkedList <整数> = LinkedListの新しい新しい LinkedListの<> (); / ** ****************のLinkedListの**********************************************************基本動作******* * / linkedList.addFirst( 0)// リストの先頭に要素を追加 linkedList.add(1); // リストの最後に要素を追加 linkedList.add(2、2); // 指定されましたlocation要素を追加 linkedList.addLast;(3)// リストの末尾に要素を追加 するSystem.out.println( "LinkedListの(直接出力):" + LinkedListの); System.out.printlnは( "getFirstとは、()最初の要素を取得するには:" linkedList.getFirst +()); // このリストの最初の要素を返す のSystem.out.println(「GetLastの()最初の最後の要素を取得するために:」+ linkedList.getLastは()); //は、最終のリストを返します。要素 のSystem.out.println(「removeFirstとは、()の最初の要素とリターンを削除します」+ linkedList.removeFirst()); //は、このリストの最初の要素削除し、返し のSystem.out.println(「removeLastを()最後の要素とリターンを削除します:「+ linkedList.removeLast()); //は、このリストの最後の要素を削除し、返し のSystem.out.printlnを(」削除した後:「+ LinkedListのを)。 のSystem.out。println(「リストを決定含有()メソッドは、要素が含まれています」+ linkedList.contains(1)); // このリストを分析して指定された要素が、もしそうであれば、真を返す含有 するSystem.out.println( "LinkedListのサイズ:" + linkedList.size()); //は、このリスト内の要素の数を返す / ** *********************** *場所・アクセス操作*********************** * / System.out.printlnは(「-------------- --------------------------- " ); linkedList.set( 1 ,. 3); // リストで、この要素は、指定された位置を交換します指定された要素 のSystem.out.printlnは( "(1 ,. 3)後に設定:" + LinkedListの); のSystem.out.printlnは( "GET(1)指定された場所(ここで、1)要素得るために:" + LinkedListのを。取得(1));//は指定された場所のリスト要素を返します / **************************検索操作************************************************************ * / のSystem.out.println( "-----------------------------------------" ); linkedList.add( 3 ) のSystem.out.println( "のindexOf(3):" + linkedList.indexOf(3)); // で初めてこのリストに指定された要素のインデックスを返す するSystem.out.println( "のlastIndexOf(3):" + linkedList.lastIndexOf(3)); // 最後に現れたこのリストで指定された要素のインデックスを返す / ** ****************** ******キュー操作*********************** * / System.out.printlnは(「---------- ------------------------------- " ); System.out.printlnは( " PEEK():「+ linkedList.peek ())。//取得しますが、このリストの先頭削除されない のSystem.out.println(「要素を():」+ linkedList.element()); //は取得しますが、このリストの先頭削除されません linkedList.pollを(); // 取得し、このリストの先頭削除 するSystem.out.printlnを( "ポーリング後():" + LinkedListの); linkedList.remove(); System.out.printlnは( "削除した後():" + LinkedListの); // 取得し、このリストの先頭削除 linkedList.offerを(4。;) のSystem.out.println(:; + LinkedListの"提供した後、(4)。")// リストの最後に、指定された要素 / ** ***** *******************のDeque操作*********************** * / のSystem.out。 println( "-----------------------------------------」); LinkedList.offerFirst( 2); // 挿入さ指定された要素のリストの先頭に するSystem.out.println( "offerFirst後(2):" + LinkedListの); linkedList.offerLast( 5); // このリスト指定された要素の端部を挿入 するSystem.out.println( "後offerLastと(5):" + LinkedListのを) するSystem.out.println( "peekFirst():" + linkedList.peekFirst()); // それを除去することなく取得しますこのリストの最初の要素 のSystem.out.println( "peekLastは():" + linkedList.peekLastは()); //は取得しますが、このリストの最初の要素は削除されません linkedList.pollFirstを(); // 取得します。このリストの最初の要素及び除去 するSystem.out.println(「pollFirst後():」+ LinkedListのを)。 linkedList.pollLast(); // リストを取得し、最後の要素削除 するSystem.out.println( "pollLast()した後:" + LinkedListのは); linkedList.push( 2); // 要素がこのリストに押し込まれると(リストの先頭に挿入された)で表されるスタック のSystem.out.println(「押した後、(2):」+ LinkedListの); linkedList.pop(); // ポップアップ要素によって表されるこのリストスタックは(入手し最初の要素のリストを削除) するSystem.out.println( "POP後():" + LinkedListの); linkedList.add( 3 ); linkedList.removeFirstOccurrence( 3); // 最初にこのリストから削除指定された要素(頭部から尾部へのリストをトラバース) するSystem.out.println( "removeFirstOccurrenceと後(3):" + LinkedListの)。 linkedList.removeLastOccurrence( 3); // このリストから、指定された要素の最後の発生を削除(尾からのリストを横断ヘッドに) のSystem.out.println(「removeFirstOccurrenceとした後、(3):」+ LinkedListの); / ** ************************トラバーサル操作************************************************************ * / のSystem.out.println( "-----------------------------------------" ); linkedList.clear(); のための(int型 Iは、100000 <; I ++はI = 0 ){ linkedList.add(I); } // 反復にわたる 長いスタート= にSystem.currentTimeMillis(); 反復子 <整数> =イテレータlinkedList.iterator(); 一方、(iterator.hasNext()){ iterator.next()。 } 長い端= にSystem.currentTimeMillis(); System.out.println( "イテレータ:" +(終了-開始)+ "MS" )。 // 顺序遍历(随机遍历) =スタートにSystem.currentTimeMillis(); 以下のために(int型 i = 0; iは++; iはlinkedList.size()< ){ linkedList.get(i)を、 } 端 = にSystem.currentTimeMillis(); System.out.println( "の" +(終了-開始)+ "MS" )。 START = のSystem.currentTimeMillis(); 以下のための(整数I:LinkedListの) ; 端 = のSystem.currentTimeMillis(); System.out.println( "FOR2:" +(終了-開始)+ "MS" )。 // 通过pollFirst()或pollLast()来遍历LinkedListの LinkedListの<整数> TEMP1 = 新しい LinkedListの<> (); temp1.addAll(LinkedListの)。 開始 = のSystem.currentTimeMillis(); 一方、(temp1.size()!= 0 ){ temp1.pollFirst()。 } 端 =System.currentTimeMillis(); System.out.println( "pollFirst()或pollLast():" +(終了-開始)+ "MS" )。 // 通过removeFirstと()或removeLast()来遍历LinkedListの LinkedListの<整数> TEMP2 = 新しい LinkedListの<> (); temp2.addAll(LinkedListの)。 開始 = のSystem.currentTimeMillis(); 一方、(temp2.size()!= 0 ){ temp2.removeFirst()。 } 端 = にSystem.currentTimeMillis(); System.out.println( "removeFirstと()或removeLast():" +(終了-開始)+ "MS" )。
参考:https://snailclimb.top/JavaGuide/#/java/collection/LinkedList