java

쉽지만 어려운 #Java #자바 #성공적 4.자료구조(리스트,스택,큐,해쉬테이블,집합)

sieunju 2016. 4. 19. 18:42
반응형

안녕하세요 j.sieun 입니다. 


저번에는 리스트에 대해 알았다면 오늘은 스택입니다. 


스택도 거의 비슷하다고 보시면 됩니다. 


스택(stack) 이란 간단히 말해서 데이터를 넣은 순서로 역순으로만 꺼낼수 있는 자료구조를 말합니다. 


아래 그림으로 설명해드리겠습니다. 




가장 밑에 있는 것이 제일 먼저 데이터를 삽입한것이고 그위로 가면갈수록 데이터는 나중에 입력받게 되는 것입니다. 


그리고 값을 가져올떄에는 가장 나중에 입력받은 데이터가 나오게 됩니다. 


대충 이런식으로 원리가 되어있습니다. 


아래것은 스택을 생성하는 것입니다.


Stack<String> stack = new Stack<String>();


정말 별거 없습니다. 


스택에서 가장 중요한것은 pop과 push입니다. 


삽입 메소드로는 


push 입니다. 


예시로는 stack.push(여기에 넣고싶은 데이터를 넣습니다. (물론 선언할때 변수형태는 같아야합니다.));


그리고 출력은 pop가 되겠습니다. 위에 말했듯이 가장 나중에 입력받은 값순서대로 출력이 됩니다. 


하지만 가장 나중에 입력받은 값은 stack에서 삭제가 되니 이점 유의하시길 바랍니다. 


하지만 삭제가 안되고 출력을 할수있는 메소드가 있습니다. 


peek 이되겠습니다. 예를 들어 


String str = stack.peek(); 이렇게 하면


가장 위에 값이 str로 저장이 되고 stack에서는 그 값이 삭제가 되지 않습니다. 


한마디로 저번에 배운 list.get() 과 비슷하다고 볼수있습니다. 


스택은 다른 자료구조와는 다르게 자기가 원하는 위치에서 값을 가져오는 것은 없으므로 


이점 유의하시길 바랍니다. 갑사합니다. :D








※궁금하신거 댓글달아주시길 바랍니다. ㅎㅎ


퍼가시는건 상관 없는데 말은 하고 퍼가주시길 바랍니다.^^※



반응형