목록자바 (33)
컴공생의 다이어리
Java 배열 일괄 초기화 - Arrays.fill() 자바에서 배열의 모든 값을 지정한 값으로 초기화하는 메서드로 Arrays.fill()이 있다. 기존에 아래와 같이 for문을 사용해서 배열의 값을 초기화하지 않고도 간편하게 배열의 값을 초기화할 수 있다. int arr[] = new int[10]; for (int i = 0; i < arr.length; i++) { arr[i] = -1; } 1차원 배열 초기화 Arrays.fill(배열 변수, 초기화할 값) 의 인자를 넣어서 초기화하면 된다. 예시는 아래와 같다. import java.util.Arrays; public class ArrayFill { public static void main(String[] args) { int arr[] = ..
백준 2023번 : 수들의 합 5 (문제 바로가기) 내 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class baekjoon_2023 { private static int N; private static StringBuilder sb = new StringBuilder(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLin..
Java Apache Commons Lang을 사용해 랜덤 문자열 생성 랜덤 문자열을 생성하고자 할 때, 직접 구현해도 되지만 이미 구현되어 있는 라이브러리를 사용하는 것이 더 편리하다. 오늘은 이미 구현되어 있는 라이브러리인 Apache Commons Lang을 사용해 랜덤 문자열을 생성하는 것에 대해서 정리하고자 한다. Apache Commons Lang을 사용하려면 직접 컴퓨터에 다운받거나 Maven이나 Gradle을 통해 받으면 된다. 만일 컴퓨터에 다운받으려고 한다면 아래 링크에서 버전을 선택해서 다운받으면 된다. https://commons.apache.org/proper/commons-lang/download_lang.cgi Lang – Download Apache Commons Lang D..
예외 처리 : try-catch-finally문 try 블록에는 예외가 발생할 가능성이 있는 코드를 작성하고 try 블록 안에서 예외가 발생하는 경우 catch 블록이 수행된다. finally 블록은 에러가 발생하든 안하든 반드시 실행해야 하는 부분이다. 만일 여러 개의 예외 블록이 있고 공통적으로 처리해야 하는 동작이 있다면 finally에서 수행하면 된다. public class ArrayExceptionHandling { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; try{ for(int i=0; i
예외 처리 : try-catch문 try 블록에는 예외가 발생할 가능성이 있는 코드를 작성하고 try 블록 안에서 예외가 발생하는 경우 catch 블록이 수행된다. public class ArrayExceptionHandling { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; try{ for(int i=0; i
람다식(Lambda expression) 람다식(=람다함수)은 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어이다. 앞에서 말한 것과 같이 람다식은 이름을 가질 필요가 없다. 람다식은 매개 변수와 매개 변수를 이용한 (매개변수) -> {실행문;}과 같은 형식으로 구성된다. 람다식 예제 (int x, int y) -> {return x+y;} str->{System.out.println(str);}// 매개 변수가 하나인 경우 자료형과 괄호 생략 가능 x, y -> {System.out.println(x+y);} // 오류 : 매개 변수가 두개 이상인 경우 괄호 생략 불가 str-> System.out.println(str);// 실행문이 한 문장인 경..
Iterator 반복자 Iterator는 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화 하였는데 그 중 하나가 Iterator이다. Iterator의 주요 멤버 ▶ boolean hasNext() : 이후에 요소가 더 있는지를 체크하는 메서드, 요소가 있다면 true를 반환 ▶ T next() : 다음에 있는 요소를 반환 ▶ remove() : next()로 읽어온 요소를 삭제 메소드의 호출 순서는 hasNext() -> next() -> remove()이다. Iterator 사용법 LinkedList lnkList = new LinkedList(); lnkList.add(4); lnkList.add(2); lnkList.add(3); lnkList.add(1); /..
제네릭(Generic) 제네릭은 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 나중에 해당 클래스를 사용할 때 지정할 수 있도록 선언한다. 제네릭의 장점 1. 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지 2. 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없음(즉, 관리하기가 편함) 3. 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아짐 보통 제네릭은 위의 표의 타입들이 많이 사용된다. 무조건 위처럼 사용해야 하는 것은 아니다. 하지만 암묵적인 규칙이기 때문에 저런 형식으로 사용해주는 것이 좋다. 제네릭의 선언 및 생성 자바에서 제네릭은 클래스와 메서드에만 아래와 같..
String, StringBuffer, StringBuilder Java에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있다. String String 클래스는 StringBuffer, StringBuilder 클래스와 다르게 한번 생성되면 할당된 메모리 공간이 변하지 않는다는 불변의 속성을 가지고 있다. String str = "hello"; // String str = new String("hello"); str = str + " world"; // [ hello world ] 위의 예제는 str에 처음 "hello" 값을 넣고 두번째 문장에서 str이 "hello world"라는 값을 가지고 있는 새로운 메모리 여역을 가리키게 변경되고 처음 ..
문자열(String) 비교 자바에서는 문자열을 비교할 때, 상황에 맞추어 ==과 equals()를 구분해서 사용해야 한다. 흔히 c/c++, python에서 문자열을 비교하고자 할 때, ==을 사용하지만 java에서의 ==은 주소의 값을 비교한다. 그렇기 때문에 내용 자체를 비교하고자 한다면 equals()를 사용하면 된다. == : 주소의 값 비교 equals() : 내용 자체를 비교 public class EqualsTest{ public static void main(String[] args){ String a = "JAVA" String b = "JAVA" String c = new String("JAVA"); String d = new String("JAVA"); System.out.printl..