ひずみ継ぎ手
繰り返し文を使用して各配列を出力する場合は、次のコードを使用します.
次に、
この種は奇形器を実施する.
奇形腫界面には2つの方法が必要である. hasNext:次のノードがある場合はtrueを返し、ポインタがnullを指す場合はfalseを返します. next:現在の指向を返します. 奇形腫Helperの実施時にコンパイルされていない場合は、削除方法が実施されていないためである可能性がある.
しかしながら、java 1.8では、デフォルトの方法をインタフェースで実装することができる.
サポートされていない操作Exceptionを刺激するために、インタフェースにremoveという方法が実装されている.
したがって1.8ではremoveメソッドに注意する必要はありません.
コンストラクション関数ではindexはheadを示します.
hasNextはindexがnullを指していることを知るだけでよい.
リストが空の場合、またはインデックスが最後の場合、index!=nullを返します.
next hasNextがtrueであるかどうかを確認します.つまり、リストが空であることを確認してください.
falseの場合、
返す内容がある場合はindexをvalに返します.dataを代入し、indexは次のノードを指します.
これによりLinkedListの内容を1つずつ印刷することができる.
int arr[] = {1,2,3,4,5};
for (int x:arr){
system.out.println(x);
}
このような繰り返し文を使用する場合はよくある(int x:arr)ので、この部分ではIvalenterインタフェースを実装します.public Iterator<E> iterator(){
return new IteratorHelper();
}
I歪子インタフェースを実現するクラスを作成した.
public class LinkedList<E> implements ListI<E>{
class IteratorHelper implement Iterator<E>{
Node<E> index;
public IteratorHelper(){
index=head;
}
public boolean hasNext(){
return (index != null)
}
public E next(){
if (!hasNext())
throw new NoSuchElementException();
E val = index.data;
index = index.next;
return val;
}
}
}
定義LinkedList<E>
、addFirst、addLast、removeFirst...方法は同じです.次に、
IteratorHelper
の内部クラスが作成されます.この種は奇形器を実施する.
奇形腫界面には2つの方法が必要である.
しかしながら、java 1.8では、デフォルトの方法をインタフェースで実装することができる.
サポートされていない操作Exceptionを刺激するために、インタフェースにremoveという方法が実装されている.
したがって1.8ではremoveメソッドに注意する必要はありません.
コンストラクション関数ではindexはheadを示します.
hasNextはindexがnullを指していることを知るだけでよい.
リストが空の場合、またはインデックスが最後の場合、index!=nullを返します.
next hasNextがtrueであるかどうかを確認します.つまり、リストが空であることを確認してください.
falseの場合、
NoSuchElementException()
が励起される.返す内容がある場合はindexをvalに返します.dataを代入し、indexは次のノードを指します.
これによりLinkedListの内容を1つずつ印刷することができる.
Reference
この問題について(ひずみ継ぎ手), 我々は、より多くの情報をここで見つけました https://velog.io/@nnoshel/선형-자료구조연결-리스트배열6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol