728x90 > 프로그래밍 언어/JAVA34 [ch11-15~18] Stack과 Queue 스택: 상자같은 것 밑이 막힌 상자 먼저 넣은게 맨 밑에 깔려있다 스택을 Last In First Out (LIFO) 이라고도 함 (마지막에 넣은게 첫 번째로 나온다) 넣는 것: push 꺼내는 것: pop 큐: 줄서기하고 똑같음 양 끝이 뚤린 상자 꺼내면 젤 첫 번쨰 숫자인 0이 꺼내지는 것 스택과 달리 저장한 순서대로 꺼내짐 저장하는 것: offer 꺼내는 것: poll First In First out (FIFO) (먼저 온 사람이 먼저 나간다) 스택은 배열이 효율적이고 큐는 링크드리스트가 효율적 스택을 사용할 때의 클래스가 있다 Stack st = new Stack(); empty: 비어있는 지 알려줌 true - 비어있는 것 false - 비어있지 않은 것 peek: 상자 맨 위에 뭐가 있는 지.. 2023. 1. 23. [ch11-12~14] LinkedList 장점: 첫 번쨰 요소 1을 읽어오는 것 하고 마지막 요소를 읽어오는 것 하고 접근시간이 똑같다 단점(1) 한 번 생성하면 크기 변경할 수 없음! 어떻게 해야할까? 1) 더 큰 배열을 생성 2) 기존의 내용 복사하고 3) 참조를 변경해야한다 그렇다고 처음부터 크기를 넉넉하게 해버리면 메모리 낭비 좋은 건 아님 단점(2) 비순차적: 배열 중간에 있는 데이터를 삭제 또는 추가하는 것을 의미 뒤의 데이터들이 이동을 하기 때문에 시간이 많이 걸린다. 중간의 데이터 추가,삭제는 시간이 많이 걸리지만 처음 끝과 마지막 끝은 빠름 배열의 단점: 1) 크기변경불가 2) 추가삭제 시간 多 이 단점들을 보완해서 나온 것 ∴ LinkedLIst 배열은 각 요소가 연속적 (다닥다닥 붙어있음) LinkedList는 각 요소가 어.. 2023. 1. 21. [ch11-7~11] ArrayList ArrayList 하고 Vector은 같음 Vector은 옛날 거 vector은 동기화처리가 돼있다 ArrayLIst는 동기화 안돼있음 List가 붙은 애들은 List 인터페이스 구현했다는 뜻 소스를 보면 아래에 객체배열이 있다 모든 종류의 객체를 저장할 수 있다 생성자(3) 1) ArrayList() - 기본생성자 2) ArrayList(Collection c) - 매개변수로 어떤 collection을 주면 그 collection에 저장돼있는 걸 저장하는 ArrayList를 만들 수 있음 Collection끼리 변환할 때 많이 씀 3) 배열의 길이를 늘려줌 1) 추가하는 메서드 ArrayList에 어떤 객체 저장하려면 add 쓰면 된다 성공하면 true 반환 실패하면 false 2) index - 저장.. 2023. 1. 20. [ch11-3~6] Collection, List, Set, Map 인터페이스들의 메서드 알아보기 Collection 인터페이스의 메서드 List 인터페이스를 구현하는 class는 여러개 있는데 Vector, Arraylist, LinkedList 중에서 뒤의 두 개가 핵심이다 IndexOf (왼쪽에서 오른쪽으로 찾는 것) LastIndexOf (오른쪽에서 왼쪽으로 찾는 ) 이 두가지는 검색할 쓰는 것 객체가 저장된 위치를 알려줌 sort - 정렬 subList - 일부만 추출 set 인터페이스는 list 인터페이스하고 반대 대표적인 class는 HashSet TreeSet 두 가지 set - 집합 집합하고 관련된 메서드 들이 있다 Map - 순서 없고, 키는 중복 없고 값은 중복 있음 Map 에서는 HashMap 하고 TreeMap 클래스가 가장 중요 LinkedHas.. 2023. 1. 19. [ch11-1~2] 컬렉션프레임워크와 핵심 인터페이스 컬렉션 : 여러 객체(데이터) 프레임 워크 : 틀 작업 : 정형화 된 정해진 틀이 있는 것 컬렉션 프레임 웍 : 여러 객체 다루는 방법을 정해진 대로 프로그래밍 객체를 다룬다는 뜻: 저장 / 삭제 / 검색 / 정렬 List : 순서O, 중복 可 Set : 순서X. 중복 X Map : 순서X, 중복(key X, valueO) 아이디(key) - 중복 안됨 비밀번호(value) - 같아도 상관 없음 List 하고 Set의 공통부분: Collection 2023. 1. 19. [ch6-11] 선언 위치 변수 종류 변수의 종류는 선언 위치에 따라서 종류가 3가지로 나뉘어짐 종류 3가지 - iv / cv / lv class 안에는 영역이 2가지 있음 1) 클래스 영역 / 2) 메서드 영역 cv: class 변수 iv 앞에 static을 붙이는 것 cv에 static이 없으면 iv가 됨 iv: 인스턴스 변수 - instance lv: 지역변수 - local variable 메서드 영역: 메서드 시작 ~ 메서드 끝까지의 영역 클래스 영역: 클래스 시작 ~ 클래스 끝까지의 영역 클래스영역에는 선언문만 가능 iv, cv : 변수 선언문 메서드 선언과 정의 선언문의 순서는 상관 X 메서드를 이렇게 위에다 써도 상관 ㄴㄴ 일반적으로 변수선언을 먼저하지만, 규칙이 따로 있는 건 아님 lv의 범위 iv와 cv의 범위: class .. 2023. 1. 17. 이전 1 2 3 4 5 6 다음 728x90