Java
-
자바의정석 Comparator 활용하기Java/자바의정석 2023. 2. 27. 23:29
자바의정석 Comparator활용하기! 아래의 코드는 자바의정석 예제코드이다. package JavaChap11; import java.util.*; class Ex11_7 { public static void main(String[] args) { String[] strArr = {"cat", "Dog", "lion", "tiger"}; Arrays.sort(strArr); System.out.println("strArr=" + Arrays.toString(strArr)); Arrays.sort(strArr, String.CASE_INSENSITIVE_ORDER); System.out.println("strArr=" + Arrays.toString(strArr)); Arrays.sort(strArr, ..
-
자바의정석 Arrays여러가지 메서드Java/자바의정석 2023. 2. 27. 23:28
Arrays의 여러가지 메서드 메서드 설명 sort() 정렬 asList 배열을 ArrayList로 변환 copyOf() 배열을 복사 copyOfRanger() 특정 범위를 지정하여 복사 fill() 배열 채우기 위와같은 메서드 외에도 많은것들이 있다. 우선 자바의정석 예제로 나온 코드를 보며 실습을 해보자. package JavaChap11; import java.util.*; class Ex11_6 { public static void main(String[] args) { int[] arr = {0,1,2,3,4}; int[][] arr2D = {{11,12,13}, {21,22,23}}; System.out.println("arr="+Arrays.toString(arr)); System.out.p..
-
자바 Iterator란?Java/자바의정석 2023. 2. 27. 23:28
Iterator란? 모든 컬렉션 프레임워크(List, Set, Map, Queue 등)에 값을 읽어(Read)가져오거나 삭제(remove)하는 기능 Iterator의 장점 모든 컬렉션 프레임워크(List, Set, Map, Queue 등)에서 공통으로 사용이 가능하다. 값을 보다 쉽게 가져오고, 삭제가 가능하다. Iterator의 단점 단방향으로만 반복이 가능하다. 값을 변경 및 추가가 불가능하다. 대량의 데이터를 제어하는 경우에는 속도가 느리다. Iterator의 메서드 메서드 기능 Iterator.hasNext() Iterator내부의 다음값이 존재하는지 여부 Iterator.next() Iterator의 다음값을 가져오는 기능 Iterator.remove() Iterator에서 현재 요소를 제거합니..
-
자바 Queue 활용해보기Java/자바의정석 2023. 2. 27. 16:59
앞선 게시글에서 Stack을 활용하여 예제를 다루어보았는데 이번에는 Queue를 활용해보자. package JavaChap11; import java.util.*; class Ex11_4 { static Queue q = new LinkedList(); static final int MAX_SIZE = 5; public static void main(String[] args) { System.out.println("help를 입력하면 도움말을 볼 수 있습니다."); while(true) { System.out.print(">>"); try { // 화면으로부터 라인단위로 입력받는다. Scanner s = new Scanner(System.in); String input = s.nextLine().trim..
-
Stack 활용해보기Java/자바의정석 2023. 2. 27. 16:36
Stack활용의 예시 수식계산, 수식괄호 검사 웨드프로세서의 undo/redo 웹 브라우저의 앞으로가기/뒤로가기 Queue활용의 예시 최근 사용 문서 확인 인쇄작업 대기목록 Buffer 위와같이 활용의 예시들이 있는데 그 외에도 수많은 예들이 있다. 우선 이번에는 수식괄호검사를 활용해보자. package JavaChap11; import java.util.*; public class Ex11_3 { public static void main(String[] args) { Stack st = new Stack(); String expression = "((3+5)*8-2)"; //args[0]; System.out.println("expression:" + expression); try { for (int..
-
LinkedList와 ArrayList의 차이Java/자바의정석 2023. 2. 27. 15:55
LinkedList와 ArrayList Linked와 Array List들의 구성은 위 그림과 같다. 특징들을 몇가지 정리해보겠다. AraayList의 장점 구조가 간단하고 데이터를 읽는데 걸리는 시간이 짧다. n번째의 요소의 주소를 찾기 쉽다. int형인 경우 (4) x N(index)를 통해 위치 확인이 가능하다. AraayList의 단점 크기를 변경해야하는 경우 새로운 배열을 생성한 후 데이터를 복사해야한다. (객체주소까지 변경) 한번 생성한다면 크기 변경이 어렵다. 크기 변경을 피하기위해 큰 배열을 생성한다면 메모리가 낭비된다. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. 특정 index의 값을 삭제한다면 뒤에있는 데이터들이 앞으로 자리를 옮긴다. 데이터를 추가하거나 삭제하기위해서는 다..
-
Java ArrayList의 개념 및 메서드Java/자바의정석 2023. 2. 27. 14:10
ArrayList 란? List인터페이스를 구현하므로, 순서 보장, 중복을 허용한다. 데이터의 저장공간으로 배열을 사용한다. 생성자 설명 ArrayList() 기본생성자 ArrayList(Collection c) 매개변수로 어떠한 컬렉션을 던지면 해당 컬렉션의 내용을 저장 ArrayList(int initialCapacity) 배열의 길이, 처음에 배열의 길이를 지정 추가메서드 - 성공하면 true, 실패하면 false boolean add(Object o) void add(int index, Object element) // 어느위치에 저장할지 선정이 가능하다. boolean addAll(Collection c) boolean addAll(int index, Collection c) 삭제 메서드 boo..
-
Java Collection이란?Java/자바의정석 2023. 2. 27. 13:44
Collection이란? 컬렉션 : 여러 객체를 모아 놓은것을 의미 프레임웍 : 표준화, 정형화된 체계적인 프로그래밍 방식 Collection 프레임웍이란? 컬렉션(다수의 객체)를 다루기위한 표준화된 프로그램 양식, 다수의 객체(data) 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 (저장, 삭제, 검색, 정렬) 대표적으로 List, Set, Map 3가지가 있다. Collection의 상슥 계층도의 그림이다. 좀 더 간편하게 표로 정리를 해보자. 인터페이스 특징 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. -구현 클래스 : ArrayList, LinkedList, Stack, Vector 등 Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다...