자바의 정석
-
[자바(JAVA)] Iterator, ListIterator, Enumeration자바의 정석 2023. 7. 23. 14:43
🔷 Iterator, ListIterator, Enumeration - 컬력션에 저장된 데이터를 접근(=읽어오기)하는데 사용되는 인터페이스 🔸Iterator Enumeration은 Iterator의 구버전임 🔸ListIterator Iterator의 접근성을 향상시킨 것(단방향 -> 양방향) 즉, 이전요소를 읽어올 수 있다. 컬렉션(List, Set, Map)은 구조가 달라서 읽어오는 방법이 전부 다름. 구조에 상관없이 읽어올 수 있는 방법이다.(표준화) 컬렉션 인터페이스에 구현되어 있어서 사용이 가능함 🔸Map과 Iterator Map은 keySet(), entrySet(0, values()를 호출해서 사용한다
-
[자바(JAVA)] Stack & Queue의 활용(PriorityQueue, Deque)자바의 정석 2023. 7. 23. 03:11
Stack & Queue 📌 스택의 활용: 수식계산, 수식괄호검사, 워드프로세서의 undo/redo, 웹브라우저의 앞으로/ 뒤로 📌 큐의 활용: 최근 사용문서, 인쇄작업 대기목록, 버퍼(buffer) ✅ 예시(1) Stack의 활용 괄호가 안맞는 경우 isEmpty()가 false임 ✅ 예시(2) Queue의 활용 최대 저장을 5개로 지정하면 이런식으로 제일 처음 기입된 내역이 밀려나간다.(FIFO) TIP) 1. if(input!=null && !input.equals("") -> if(!"".equals(input) ==> NullPointerException 방지함 2. s.nextLine().trim(); -> Scanner입력시 공백만 입력하면 무시한다. ✅ 예시(3) Queue의 활용_Prio..
-
[자바(JAVA)] Stack & Queue의 구조와 특징자바의 정석 2023. 7. 20. 21:04
🔷 Stack (밑이 막힌 상자) - LIFO구조로 마지막에 저장된 것을 제일 먼저 꺼내게 된다. Stack & Queue는 컴퓨터 프로그래밍에서 가장 많이 사용되는 기본적인 구조이다. 입력: 0 -> 1 -> 2 출력: 2 -> 1 -> 0 Stack은 가장 마지막부터 꺼내기 때문에 배열이 효율적이다. 🔷 Queue(양 끝이 뚫린 상자) - FIFO 구조로 제일 먼저 저장한것을 제일 먼저 꺼낸다. 입력: 0 -> 1-> 2 출력: 0 -> 1-> 2 Queue는 LinkedList로 구현하는게 더 적합하다. remove()와 poll()은 예외발생 유무에서 차이가 있다. remove() -> try-catch로 처리 poll() -> ==null 여부로 확인 나머지도 동일한 차이임 Queue는 인터페이..
-
[자바(JAVA)] ArrayList의 삭제과정, ArrayList전체삭제 방법자바의 정석 2023. 7. 20. 05:34
🔷 ArrayList에 저장된 세 번째 데이터(data[2])를 삭제하는 과정 * 인덱스가 2인 객체를 삭제하길 원함 1. 삭제할 데이터기준으로 아래 데이터들이 한 칸씩 위로 복사되어 삭제할 데이터를 덮어쓴다. 2. 마지막 데이터는 그대로 남아있기 때문에 null로 변경한다. 3. 데이터의 사이즈를 줄인다 *삽입할 경우에는 반대로 진행된다. 마지막 데이터만 삭제하는 경우에는 2번과정이 진행되지 않음 되도록 2번은 진행되지 않게끔 설계해야됨 🔷 ArrayList에 저장된 첫 번째 데이터(data[2])부터 삭제하는 과정(배열 복사 발생) List.length = 5 0~4번 인덱스까지 순차적으로 삭제를 원했음 0번 인덱스(값:0)을 삭제하니 한칸씩 앞으로 땡겨짐 값1을 삭제하려 인덱스 1을 삭제했으나 현재..
-
[자바(JAVA)] ArrayList의 정의와 메서드정리자바의 정석 2023. 7. 20. 05:28
🔷 ArrayList란? ArrayList는 기존의 Vector를 개선한 것으로 구현원이롸 기능적으로 동일하다. 차이점은 동기화처리(13장 쓰레드에서 확인) 데이터의 저장공간으로 배열을 사용한다. ArrayList=배열기반임 🔷 ArrayList의 메서드 add(int index, Object element) : index위치에 element를 넣어준다 int indexOf(Object o) : o가 위치한 index를 반환하는데 없을 경우 (-1)을 반환한다. List subList(int fromIndex, int toIndex) : int fromIndex이상 int toIndex미만의 값으로 재생성 ✅ 실습예제 add를 할 때 문자열 "1"과 숫자 1 모두 출력상 값은 동일한점 주의하기! 따라서,..
-
[자바(JAVA)] 컬렉션 프레임웍 /List, Set, HashSet, TreeSet, Map의 정의와 사용메서드 정리자바의 정석 2023. 7. 19. 04:16
컬렉션 프레임웍(collections framework) 컬렉션: 여러 객체(데이터)를 모아둔 것 프레임웍: 표준화, 정형화된 프로그래밍 방식 - 프레임웍은 자유도가 떨어진다고 볼 수도 있지만 생산성이 올라가고 유지보수가 더 쉬워진다는 장점이 있음 컬렉션 프레임웍 - 여러 객체를 정해진대로 프로그래밍 하는것 - 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식 - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공한다. - java.util패키지에 포함되어 있고 JDK1.2부터 제공되었음 🔷 컬렉션 프레임웍의 핵심 인터페이스 - 크게 3가지로 나눌 수 있다. - 세가지의 특성을 반드시 알고있자! 1) List - 순서가 있는 데이터의 집합, 데이터 중복을 허용한다. 구현클래스: Arra..