[JavaStudy] Stack
Stack ?
辞書の意味では「山」「山」という意味です.
Collectionフレームワークの一部でもあるjava.utilパッケージに属します.
Stackの最大の特徴は後入先出
(LIFO : Last In First Out)
である.宣言Stack
Stack st = new Stack(); // 타입 설정x Object로 선언
Stack<StackDemo> demo = new Stack<StackDemo>(); // class타입으로 선언
Stack<Integer> i = new Stack<Integer>(); // Integer타입 선언
Stack<Integer> i2 = new Stack<>(); // 뒤의 타입 생략 가능
Stack<String> s = new Stack<String>(); // String타입 선언
Stack<Character> ch = new Stack<Character>(); // Char타입 선언
Stack<타입> 변수명 = new Stack<타입>();
と発表された.タイプ宣言は省略できますが、入力を継続できないとタイプエラーが発生するので、タイプを明確に宣言したほうがいいです.
スタック値の追加:push()
import java.util.Stack;
public class stack_study {
public static void main(String[] args) {
Stack<String> st = new Stack<>();
// Stack 값 추가 : push()
st.push("HI Developer");
st.push("ME too");
System.out.println(st);
}
}
[結果]スタック値の削除:pop()、clear()
import java.util.Stack;
public class stack_study {
public static void main(String[] args) {
Stack<String> st = new Stack<>();
// Stack 값 추가 : push()
st.push("HI Developer");
st.push("ME too");
System.out.println(st);
st.pop(); // ME too 삭제
System.out.println(st);
st.clear(); // Stack 값 전체 제거
System.out.println(st);
}
}
pop()
メソッドを使用すると、Stackから値が削除されます.最後に入力した値をLIFOに沿って削除します!
clear()
メソッドを使用して、Stackのすべての値を削除します.[結果]
取得スタックサイズ:size()
import java.util.Stack;
public class stack_study {
public static void main(String[] args) {
Stack<String> st = new Stack<>();
// Stack 값 추가 : push()
st.push("HI Developer");
st.push("ME too");
System.out.println("Size : " + st.size());
}
}
[結果]Stack値出力:firstElement()、lastElement()、peek()、奇形器()
import java.util.Iterator;
import java.util.Stack;
public class stack_study {
public static void main(String[] args) {
Stack<String> st = new Stack<>();
// Stack 값 추가 : push()
st.push("HI Developer");
st.push("ME too");
st.push("Nice to meet you");
// firstElement, lastElement, peek
System.out.println("처음 값 : " + st.firstElement());
System.out.println("마지막 값 : " + st.lastElement());
System.out.println("마지막 값 : " + st.peek());
// get() 메서드 사용하여 index 출력
for(int i = 0; i < st.size(); i++){
System.out.println(st.get(i)+ " ");
}
// 향상된 for문 사용하여 Stack 값 출력
for(String str : st){
System.out.println(str + " ");
}
// Iterator를 사용하여 Stack 값 출력
Iterator iter = st.iterator();
while(iter.hasNext()){
System.out.println(iter.next()+ " ");
}
}
}
firstElement()
:Stackの最初のInput値を見つけることができますlastElement()
、peek()
:Stackの最終入力値[結果]
検索Stack値:contains()、indexOf()
import java.util.Iterator;
import java.util.Stack;
public class stack_study {
public static void main(String[] args) {
Stack<String> st = new Stack<>();
// Stack 값 추가 : push()
st.push("HI Developer");
st.push("ME too");
st.push("Nice to meet you");
System.out.println("값 검색(contains) : " + st.contains("HI"));
System.out.println("값 검색(indexOf) : " + st.indexOf("HI"));
System.out.println("값 검색(contains) : " + st.contains("HI Developer"));
System.out.println("값 검색(indexOf) : " + st.indexOf("HI Developer"));
System.out.println("값 검색(indexOf) : " + st.indexOf("ME too"));
}
}
contains()
:呼び出しメソッドは、値がtrue、falseであるかどうかを判断します.indexOf()
:メソッドが値を返すインデックスを呼び出します.[結果]
注意:https://crazykim2.tistory.com/569
https://coding-factory.tistory.com/601
Reference
この問題について([JavaStudy] Stack), 我々は、より多くの情報をここで見つけました https://velog.io/@dingdoooo/JavaStudy-Stackテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol