自分自身のLinkedListを達成するために

パブリック クラス MyLinkedList <E> {

    民間最初のノード。

    プライベート int型のサイズ。

    公共 int型のサイズ(){
         戻りサイズ;
    }

    @オーバーライド
    パブリック文字列のtoString(){
        場合(サイズ== 0 ){
            戻り  " [] " 
       } {
           StringBuilderのSB = 新しい StringBuilderの(" [ " );
           ノード電流 = 最初;
           しばらく(現在!= nullの){
               sb.append(current.value).append(" " );
               現在 = current.next。
           }
           sb.replace(sb.length() - 1、sb.length()、" ] " )。
           リターンsb.toString();
       }
    }

    パブリック 静的 ボイドメイン(文字列[]引数){
        MyLinkedListリスト = 新しいMyLinkedList();
        list.addFirst(" パイソン").addFirst(" javaの").addFirst(" こんにちは").addFirst(" PHP " );
        システム。アウト.println(リスト);
        list.removeFirst();
        システム。アウト.println(リスト);
        システム。アウト .println(list.contains(" パイソン" ));

    }
    公共E removeFirstと(){
         場合(サイズ== 0 ){
             戻り  ヌル
        } {
            ノード <E> TEMP =   最初;
            最初 = temp.next。
            サイズ - ;
            リターン  temp.value。
        }
    }

    パブリック   ブールは{(E e)は含まれてい
        ノード電流 = 最初;
        しばらく(!現在= nullの){
             場合(current.value == E){
                 返す 
            }
            現在 = current.next。
        }
        リターン はfalse ;
    }

    公共MyLinkedList addFirst(E電子){
        ノードnewNodeは = 新しいノード(e)を、
        newNode.nextは = 最初;
        最初 = newNode。
        サイズ ++ ;
        返す これを
    }

    プライベート  静的の  クラス   ノード<E> {
         プライベートE値。
        民間次のノード。

        ノード(E値){
            この .VALUE = 値;
        }

        @オーバーライド
        公共の文字列のtoString(){
             戻り   値== nullの" ヌル":値+ "" ;
        }
    }
}

おすすめ

転載: www.cnblogs.com/moris5013/p/12040389.html