프로그래밍 언어/JAVA
-
[ch9 JAVA] StringBuffer 클래스의 생성자와 메서드 알아보기프로그래밍 언어/JAVA 2022. 8. 4. 13:14
StringBuffer 클래스란? String클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없지만 StringBuffer 클래스는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며 StringBuffer 인스턴스를 생성할 때 그 크기를 지정할 수 있다. 이 때, 편집할 문자열의 길이를 고려해 버퍼의 길이를 충분히 잡아주는 것이 좋다. StringBuffer 클래스는 String 클래스와 유사하게 문자열을 저장하기 위한 char형 배열의 참조변수를 인스턴스변수로 선언해 놓고 있다. 아래는 StringBuffer를 공부하기 전 알아야될 String의 특징을 정리해뒀다. https://wonisdaily.tistory.com/38 [ch9 JAVA] String 클..
-
[ch9 JAVA] String 클래스 생성자 & String, new String() 차이프로그래밍 언어/JAVA 2022. 8. 4. 12:25
char bar = new char [value]; return new String(bar); 위의 코드에서 new String()의 매개변수로 char를 넣으면 문자열 형태로 나오길래 String에 대해 더 공부해야겠다 싶었다. 앞에서 정리했던 건데도 불구하고 예제로 나오니 헷갈렸다,, ★ 그리고 String str ="" 과 String str = new String()" 의 차이에 대해서도 궁금증이 생겨 이번 포스팅에서 알아볼까 한다. https://wonisdaily.tistory.com/31 [ch9] String 클래스의 유용한 생성자와 메서드 자바에서는 문자열을 위한 클래스를 제공한다. 그것이 바로 String인데, String 클래스는 문자열을 저장하고 이를 다루는데 필요한 메서드도 함께 ..
-
[ch11 컬렉션 프레임웍] Arrays의 중요 메서드 (복사, 정렬, 비교..)프로그래밍 언어/JAVA 2022. 8. 3. 13:24
📑 배열의 복사 - copyOf(), copyOfRange() Arrays클래스에는 배열을 다루는데 유용한 메서드가 정의되어 있다. copyOf()는 배열 전체를, copyOfRange()는 배열의 일부를 복사해서 새로운 배열을 만들어 반환한다. int [] arr = {0, 1, 2, 3, 4}; int [] arr2 = Arrays.copyOf(arr, 3); // arr2 = [0,1,2] int [] arr3 = Arrays.copyOfRange(arr,2,4); // arr3 = [2,3] int [] arr4 = Arrays.copyOfRange(arr,0,7); // arr4 = [0,1,2,3,4,0,0] 📑 배열의 정렬과 검색 - sort(), binarySearch() sort()는 배..
-
[ch11 컬렉션 프레임웍] Iterator & Enumeration 와 Map프로그래밍 언어/JAVA 2022. 8. 3. 12:57
Iterator, ListIterator, Enumeration Iterator, ListIterator, Enumeration은 모두 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스이다. Enumeration은 Iterator의 구버젼이며, ListIterator는 Iterator의 기능을 향상시킨 것이다. Iterator : 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스 ListIterator : Iterator에 양방향 조회 기능을 추가(List를 구현한 경우만 사용 가능) Enumeration : Iterator의 구버젼 컬렉션 프레임웍에서는 컬렉션에 저장된 요소를 읽어오는 방법을 표준화하였다. 컬렉션에 저장된 각 요소에 접근하는 기능을 가진 Iterator 인터페이스를 정의하고, C..
-
[ch11 컬렉션 프레임웍] Stack과 Queue의 메서드 (add vs offer)프로그래밍 언어/JAVA 2022. 8. 3. 11:55
Stack과 Queue 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO(Last In First Out) 구조로 되어있고, 큐는 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO(First In First Out) 구조로 되어있다. 즉) 스택은 동전통과 같은 구조로 양 옆과 바닥이 막혀 있어서 한 방향으로만 뺄 수 있는 구조이고, 큐는 양 옆만 막혀 있고 위 아래는 뚫려 있어 한 방향으로 빼는 파이프와 같은 구조로 되어있다. 예를 들어 스택에 0, 1, 2의 순서로 데이터를 넣었다면 꺼낼 때는 2, 1, 0 순서로 꺼내게 된다. 즉) 넣은 순서와 꺼낸 순서가 뒤집어지게 되는 것이다. 이와 반대로 큐에 0, 1, 2 순서대로 데이터를 넣었다면 꺼낼 때 역시 0, 1, 2의 순서로 꺼내..
-
[ch11 컬렉션 프레임웍] ArrayList, LinkedList 메서드& 추가와 삭제프로그래밍 언어/JAVA 2022. 8. 2. 22:43
ArrayList는 컬렉션 프레임웍에서 가장 많이 사용되는 컬렉션 클래스일 것이다. 이 ArrayList는 List 인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다는 특징을 갖는다. ArrayList는 기존의 Vector를 개선한 것으로 Vector와 구현원리, 기능적 측면에서 동일하다고 할 수 있다. ArrayList는 Object 배열을 이용해서 데이터를 순차적으로 저장한다. 예를 들면, 첫 번째로 저장한 객체는 0번째 위치에 저장되고 그 다음에 저장하는 객체는 1번째 위치에 저장된다. ArrayList 메서드 메서드 설 명 ArrayList() 크기가 0인 ArrayList를 생성 ArrayList(Collection c) 주어진 컬렉션이 저장된 ArrayList를 생성 A..
-
[ch 11 컬렉션 프레임웍] List, Set, Map 핵심 인터페이스 살펴보기프로그래밍 언어/JAVA 2022. 8. 2. 13:53
컬렉션 프레임웍 컬렉션 프레임웍이란 '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다. 컬렉션(collection)은 다수의 데이터, 즉) 데이터 그룹을, 프레임웍은 표준화된 프로그래밍 방식을 의미한다. 컬렉션 프레임웍은 컬렉션, 다수의 데이터를 다루는 데 필요한 다양하고 풍부한 클래스들을 제공하기 때문에 프로그래머의 짐을 상당히 덜어 주고 있으며, 또한 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있기 때문에 사용법을 익히기에도 편리하고 재사용성이 높은 코드를 작성할 수 있다는 장점이 있다. 라이브러리(그래픽, 통계 등)는 공통으로 사용될만한 유용한 기능을 모듈화하여 제공하는데 비해, 프레임웍은 단순히 기능뿌난 아니라 프로그래밍 방식을 정형화하여 프로그램의 개발 생산성을 높이..
-
[ch9] String 클래스의 유용한 생성자와 메서드프로그래밍 언어/JAVA 2022. 8. 2. 11:44
자바에서는 문자열을 위한 클래스를 제공한다. 그것이 바로 String인데, String 클래스는 문자열을 저장하고 이를 다루는데 필요한 메서드도 함께 제공한다. 아래 표는 String 클래스 내에 정의된 생성자와 메서드의 목록인데) 전체 목록은 아니지만 자주 사용될 만한 것들 위주로 정리해봤다. 메서드 / 설명 예제 결과 String (String s) : 주어진 문자열 (s)를 갖는 String 인스턴스를 생성한다. String s = new String("Hello"); s = "Hello" String(char [ ] value ) : 주어진 문자열 (value)를 갖는 String 인스턴스를 생성한다. char [ ] c = {'H', 'e' , 'l' , 'l', 'o' }; String s =..