クラスMyStack { // 我々がデータストアにアレイを使用スタックの底 のint []の要素を、 パブリックMyStack(){ 要素 = 新しい新しい INT [0 ]; } // 押さ素子 公共 ボイドプッシュ(int型素子){ // 作成新しい配列 INT [] = newArr 新しい新しい INT [elements.length用+ 1 ]; // 新しい配列への配列のコピー元の要素 のためには、(int型 ; I <elements.length I ++はI = 0 ){ newArr [Iを] = 要素[I]; } // 新しい配列に追加される要素 newArr [elements.length] = 要素; // 新しい配列は、古いアレイ置き換え 要素= newArrを; } // トップ要素削除 パブリック int型(POP)を{ // スタックどの要素ない IF(elements.length == 0 ){ スロー 新しい新規のRuntimeException(「スタックが空である」); } // 配列の最後の要素削除 のint要素要素= [-elements.length 1。]; //は新規作成配列 INT [] = newArr 新しい新しい INT [-elements.length 1。]; // 他の要素の最後の要素を除いて、元の配列を新しい配列にコピーされている ため(int型 I = 0;私は<-elements.length 1; I ++は){ newArr [I] = 要素[I]; } // 新しい配列を使用して、古い配列を置き換える 要素を= newArr; // 先頭の要素を返す 戻り値の要素を、 } // 先頭の要素をチェック 公共の int型{)(PEEKを // どの要素を積み重ねない IF(elements.length == 0 ){ スロー 新新のRuntimeException(「スタックが空である」); } 戻り要素[elements.length 1 - 。]; } // スタックが空であるか否かを判断する パブリック ブールのisEmpty(){ 戻り elements.length == 0 ; } } パブリック クラスメイン{ 公共 静的 ボイドメイン(文字列[]引数){ // スタックを作成 MyStack MS = 新しい新MyStack(); // データに圧入 ms.push(9 ); ms.push( 8 ); ms.pushは( 7 ); // 先頭の要素を削除 // するSystem.out.println(ms.pop()) ; // 先頭の要素をチェック System.out.println(ms.peek()); ms.pop(); のSystem.out.println(ms.peek()); //は、スタックが空であるか否かを判断 するSystem.out.println(ms.isEmpty() ); } }