분류 전체보기

    [자바의 정석] 스택과 큐

    1. 스택과 큐 https://www.youtube.com/watch?v=ktvhRSRohR4 ▶ 스택(Stack) : 밑이 막힌 상자 - LIFO구조. Last in First Out / push(저장) & pop(추출) 방식 - 배열이 적합 *순차적인 추가/삭제 ▶ 큐(Queue) : 양끝이 뚫린 상자(포장마차의 종이컵 빼는 것과 같다) - FIFO구조. First in First Out / otter(저장, 제공한다) & poll(추출) - 링크드리스트가 적합 *비순차적인 추가/삭제 ■ 스택의 메소드 **JAVA에서 스택은 클래스 (객체생성 가능) push(Object) : Object --- Stack객체에 item을 저장 pop( ) : Object --- 맨 위의 것 꺼내기 empty( ) :..

    [자바의 정석] ArrayList/LinkedList

    [자바의 정석] ArrayList/LinkedList

    1. ArrayList : 배열 기반 리스트 https://www.youtube.com/watch?v=_2e-cgwMOyc ▶ Vector를 개선. *차이점) Vector는 동기화 가능/ ArrayList는 동기화X ▶ 생성자 ArrayList() ArrayList(Collection c) 컬렉션을 넣으면 배열리스트로 변경됨 ArrayList(int initalCapacity) 저장하려는 갯수만큼 길이 지정 * 저장갯수를 지정해주지 않으면 배열이 늘어나고 줄어들 때마다 배열이 새로 생성되기에 성능 떨어진다. ▶ 메소드 추가 삭제 검색 기타 add(Object o) : boolean add(int index, Object element) addAll(컬렉션) addAll(index, 컬렉션) remove(..

    [자바의 정석] 컬렉션 프레임웍(Collection Framework) 기초

    ▶ 들어가기 전에.. 컬렉션의 대부분의 내용은 자바의 정석 강의을 보고 공부하고 있습니다. 영상 내용 중 중요한 것을 작성했으나 제가 쓴 부분이 오류가 있을 수 있으니 오류가 있으면 댓글 부탁드립니다. 1. 컬렉션 프레임웍(Collection Framework)의 이해 https://www.youtube.com/watch?v=z9GpUGoYCw4 ■ 용어 ▶ 컬렉션 (모아놨다) ▶ 프레임웍(정형화된 틀) : 라이브러리 + 프로그래밍 방식 *라이브러리 : 다른 사람이 이미 만들어 놓은 걸 모아논 곳(라이브러리=도서관). 기능만 제공한다(ex. JavaAPI) ▶ 컬렉션 프레임웍 : 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식 *객체 = 데이터 - java.util 패키지에 포함. (JDK2.0부터)..

    [자바의정석_복습] 예외처리

    보호되어 있는 글입니다.

    [자바_예제] 2차원 배열 _ 달팽이(snail) 배열

    >> 실행결과 차수 : 5 ---snail1--- [ 1 2 3 4 5] [ 16 17 18 19 6] [ 15 24 25 20 7] [ 14 23 22 21 8] [ 13 12 11 10 9] ---snail2--- [ 25 24 23 22 21] [ 10 9 8 7 20] [ 11 2 1 6 19] [ 12 3 4 5 18] [ 13 14 15 16 17] 또?(y/n) : n ----END---- [Snail 객체] package myutil; public class Snail { //Right -> Down -> Left -> Up //이 과정을 반복하되, //만약 움직이려는 방향에 값이 있을 경우, 현재 자리에서 이동하지 않고, //값을 넣지 않고 방향을 전환한다. //Right : col++ ..

    [자바_예제] 2차원 배열_홀수 마방진 만들기

    package mymain; import java.util.Arrays; public class _10_Question_Mabanjin { public static void main(String[] args) { /* [마방진 원리] 대각선으로 이동하라(plus -1 on row +1 on col) 만약 바둑판의 행과 열을 모두 벗어날 경우(rowMax) 자기자신의 아래로 가라 그렇지 않고 바둑판의 행을 벗어날경우(rowMax), col의 가장 왼쪽으로 가라 그렇지 않고 (대각선 이동은 가능하나) 그 자리에 다른 값이 있을 경우 자기 자신의 아래로 가라 해당 위치에 다음 숫자를 넣어라 */ int[][] testArr = new int[5][5]; Mabanjin.makeStartPoint(testArr..

    [자바_예제] 2차원 배열_로또 추첨

    보호되어 있는 글입니다.

    [자바API_AWT/Swing] 키보드 이벤트 구현하기

    ■ 사용할 객체 ▶ KeyAdaptor - KeyListener를 구현한 추상클래스이다. - getKeyCode() : void ---- Virtual Code를 확인할 수 있다. [참고 : 키보드 정보가 들어오는 방식] - 각 회사의 키보드 -> OS/JVM에서 Virtual Key Code로 받음(각 회사 키보드 동일하게 인식) - 키보드의 shift+[ ] 예를 들어, 소문자 a를 인식하는 게 아니다. (문자는 모두 대문자로 인식) - 말그대로 어떤 키보드를 눌렀는지를 값으로 받는다. ▶ KeyEvent - VK_xxxxx : Virtual Code Key를 의미하는 상수로, 언더바(_) 다음에 "LEFT","RIGHT","Q","R"등 키보드 키에 대한 상수를 받을 수 있다. ▶ Dimension..

    [자바API_AWT/Swing] 버튼 이벤트 구현하기

    [자바API_AWT/Swing] 버튼 이벤트 구현하기

    ■ xxxListener/xxxEvent/Action 관계 - 비유 참고 링크 : https://stackoverflow.com/questions/23033439/what-is-the-difference-between-actionlistener-and-actionevent-for-a-button [비유] 상점 주인 - 상점 주인이 가게에 들어와 직원들을 살핀다. - 그는 뭔가 문제가 발생한다면 행동을 할 준비를 하고 있다.(ActionListner) - 직원A가 일할 시간에 또 사무실에서 잠을 자고 있다. - 그는 마음먹은대로 행동을 돌입해야겠다 생각한다.(AcitionEvent) - 그는 직원A에게 다음번에 자르겠다 경고한다.(Action) ■ xxxListner와 xxxAdapter의 차이점 - XX..

    [자바API_AWT/Swing] 배치관리자와 레이아웃 종류(2)_윈도우창(JFrame) 예제

    [자바API_AWT/Swing] 배치관리자와 레이아웃 종류(2)_윈도우창(JFrame) 예제

    ■ 공통부분 - 윈도우창이기에 컨테이너는 JFrame을 사용한다. - 아래의 예제들에서 JFrame의 세팅값(위치/크기/보임상태/종료버튼방식)은 모두 동일하게 할 것이다. ■ BorderLayout - JFrame컨테이너의 디폴트 배치관리자는 BorderLayout이다. - BorderLayout은 컴포넌트 간격을 지정하지 않을 거면 초기화를 딱히 해줄게 없다. - 컴포넌트를 넣어줄 때 어느 영역(North/South/West/East/Center)에 위치시킬지 지정해준다. package window; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutTest..