본문 바로가기

✏️Java 공부/기타 등등3

[Java 공부/기타] 객체 정렬하기 (Comparable & Comparator) 백준 문제를 풀다 보면 정렬이 필요한 문제가 종종 나온다. 대부분의 경우 Arrays.sort()나 Collections.sort()를 호출하여 해결할 수 있지만 정렬에 추가적인 조건이 붙었거나, 사용자가 정의한 객체를 정렬하게 될 경우 추가적인 작업이 필요하다. 이를 위해 필요한 Comparable과 Comparator에 대해 알아보고, 활용하는 법을 배워보자. Comparable Comparable 인터페이스는 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. int[] arr = {1, 3, 5, 7, 2, 4, 6}; Arrays.sort(arr);//arr이 {1, 2, 3, 4, 5, 6, 7}로 정렬 위 예제는 int형 배열을 정렬하는 코드다. Arrays.sort()를 호출하면 컴퓨터가 .. 2022. 8. 1.
[Java 공부/기타] Java 형 변환 정리 변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 형 변환 (casting)이라고 한다. 자바를 쓰다 보면 자료형 간에 형 변환을 해야 하는 경우가 생긴다. 이번 글에서는 형 변환하는 방법을 정리해 보겠다. 1. 정수형 ↔️ 실수형 정수형 변수(byte, short, int, long)와 실수형 변수(float, double)는 기본형 변수에 속하기 때문에 자유롭게 형 변환이 가능하다. 기본형 변수 간에 형 변환은 형 변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여주기만 하면 된다. Integer ➡ Double, Float int i = 3; float f = (float) i;//Integer to Float double d = (double) i;//Integer t.. 2022. 7. 31.
[Java 공부/ 기타] 클래스 내에서 데이터에 제약조건 걸기 Time 클래스 안에서 private으로 hour, minute, second를 선언하여 클래스의 외부에서 접근할 수 없도록 하였다. 때문에 클래스 안의 변수들에 접근하기 위해서는 반드시 클래스 안의 메소드를 거쳐야 한다. class Time { //time 클래스 private int hour; //시 private int minute; //분 private float second; //초 } 아래 코드는 input을 입력받아 데이터의 유효성을 검증한 뒤 유효성 여부에 따라 hour의 값을 변경하는 메서드의 코드다. input이 '시'를 나타내기 때문에 입력된 데이터가 0~23의 범위 안에 있어야만 유효한 값으로 인정한다. public void setHour(int input) { //input에 대한.. 2022. 3. 8.