백엔드 70

TIL 정리_20

Arrays 배열을 다루는데 유용한 메서드가 정의되어있다 Arrays에 정의된 메서드는 전부 static 메서드이다 배열의 복사 - copyOf(), copyOfRange() 새로운 배열 생성/반환 배열 채우기 - fill(), setAll(); fill()은 배열의 모든 요소를 지정된 값으로 채운다 setAll()은 배열을 채우는데 사용할 함수형 인터페이스를 매개변수로 받는다 배열의 정렬과 검색 - sort(), binarySearch(){이진탐색} sort()는 배열을 정렬할 때 사용된다 binarySearch()는 배열에 저장된 요소를 검색할 때 사용된다, 배열이 정렬된 상태여야 결과를 얻는다 배열의 비교와 출력 - equals(), toString() toString()은 배열의 모든 요소를 문자..

TIL 정리_19

Stack과 Queue Stack : LIFO(Last In First Out)구조, 마지막에 저장된 것을 제일 먼저 꺼내게 된다 저장 : push, 호출 : pop 한 방향 박스구조, 배열에 적합하다 Queue : FIFO(First In First Out)구조, 제일 먼저 저장한 것을 먼저 꺼낸다 저장 : offer 호출 : poll 양 방향으로 뚫린 박스구조, 링크드 리스트에 적합하다 Stack의 메서드 메서드 설명 boolean empty() Stack이 비어있는지 알려준다 Object peek() Stack의 맨 위에 저장된 객체를 반환. pop()과 달리 Stack에서 객체를 꺼내지는 않는다 (비었을 때는 EmptyStackException 발생) Object pop() Stack의 맨 위에 ..

TIL 정리_18

컬렉션 여러 객체(데이터)를 모아놓은 것을 의미 프레임 워크 표준화, 정형화 된 체계적인 프로그래밍 방식 컬렉션 프레임웍 (Collections Framework) 컬렉션을 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 java.util패키지에 포함 컬렉션 클래스 다수의 데이터를 저장할 수 있는 클래스 (Vector, ArrayList, HashSet) 핵심 인터페이스 인터페이스 특징 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다 구현 클래스 : ArrayList, LinkedList, Stack, Vector 등 Set 순서를 유지하지 않는 데이터의 집한, 데이터의 중복을 허용하지 않는다 예)양의 정수 집합, 소수의 집합 구현 클래스 :..

TIL 정리_17

java.time패키지 패키지 설명 java.time 날짜와 시간을 다루는데 필요한 핵심 클래스들을 제공 java.time.chrono 표준(ISO)이 아닌 달력 시스템을 위한 클래스들을 제공 jave.time.format 날짜와 시간을 파싱하고, 형식화하기 위한 클래스들을 제공 jave.time.temporal 날짜와 시간의 필드(field)와 단위(unit)를 위한 클래스들을 제공 jave.time.zone 시간대(time-zone)와 관련된 클래스들을 제공 위 패키지에 속한 클래스들은 String 클래스처럼 불변이다 Calendar와 다르게 날짜와 시간을 별도의 클래스로 분리했다 LocalDate + LocalTime -> LocalDateTime LocalDateTime+시간대 -> ZonedDa..

TIL 정리_16

java.util.Date; 날짜와 시간을 다룰 목적으로 만들어진 클래스 Date의 메서드는 거의 deprecated(앞으로 사용하지 않음)됐지만, 여전히 쓰이고 있다 java.util.Calendar; Date 클래스를 개선한 새로운 클래스 여전히 단점이 존재한다 java.time 패키지 Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공한다 (JDK1.8) Calendar 클래스 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 한다 Calendar cal = Calendar.getInstance(); //추상클래스인 Calendar는 인스턴스를 생성x get()으로 날짜와 시간 필드 가져오기 : int get(int field) int thisYear = cal...

TIL 정리_15

유용한 클래스 java.util.Objects클래스 Object클래스의 보조 클래스 모든 메서드가 'static'이다 객체의 비교나 널 체크에 유용하다 isNull() - null이면 true 아니면 false nonNull() null이 아니면 true requireNonNull() 해당 객체가 널이 아닌경우에 사용 매개변수의 유효성 검사없이 requireNonNull() 호출 void setName(String name) { if(name == null) throw new NullPointerException("name must not be null."); this.name = name; } void setName(String name) { this.name = Objects.requireNonNul..

TIL 정리_14

래퍼(wrapper)클래스 객체가 아닌 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스 public final class Integer extends Number implements Comparable { private int value; } 래퍼클래스의 생성자는 char -> Character int -> Integer 이 2개를 제외하고는 대문자로만 바꾸면 된다 Number클래스 숫자와 관련된 래퍼 클래스들은 모두 Number클래스의 자손이다 기본형 외에도 BigInteger과 BigDecimal이 포함되어 있다 문자열을 숫자로 변환하기 문자열을 숫자로 변환할 때는 아래의 방법 중 하나를 사용한다 int I = new Integer(“100”).intValue(); //floatValue(), l..

TIL 정리_13

기본형 값을 String(문자열)으로 변환 int i = 100; String str1 = i +""; String atr2 = String.valueOf(i); String을 기본형 값으로 변환 parseInt() 혹은 valueOf()를 사용 기본형 -> 문자열 문자열 -> 기본형 String String.valueOf(boolean b) String String.valueOf(int i) String String.valueOf(char ch) String String.valueOf(long l) String String.valueOf(float f) String String.valueOf(double d) boolean Boolean.parseBoolean(String s) int Int.parse..

TIL 정리_12

공변 반환타입 (JDK1.5 추가) 오버라이딩할 때 조상 메서드의 반환타입을 자손 클래스의 타입으로 변경을 허용하는 것이다. Point copy = (Point)original.clone(); ---> Point copy= original.clone(); clone()을 이용한 배열 복사 int[] arr = {1,2,3,4,5}; int[] arrClone = arr.clone(); int[] arr = {1,2,3,4,5}; int[] arrClone = new int{arr.length}; System.arraycopy(arr, 0, arrClone, 0, arr.length); 두 코드는 같은 결과를 얻는다 java.util 패키지의 다른 클래스들도 이와 같은 방식으로 복제가 가능하다 (Vecto..

TIL 정리_11

Vector 클래스 – 가변배열 가능(동적으로 크기가 관리되는 객체배열) Object[] - 모든 종류의 객체 저장 가능 Vector 클래스의 주요 메서드 메서드/생성자 설명 Vector() 10개의 객체를 저장할 수 있는 Vector인스턴스를 생성한다 10개 이상의 인스턴스가 저장되면, 자동적으로 크기가 증가된다. boolean add(Object o) Vector에 객체를 추가한다. 추가에 성공하면 결과값으로 true 실패하면 false를 반환한다. boolean remove (Object o) Vector에 저장되어 있는 객체를 제거한다. 제거에 성공하면 true 실패하면 flase를 반환한다. boolean isEmpty() Vector가 비어있는지 검사한다. 비어있으면 true, 비어있지 않으면..