전체 글 (187) 썸네일형 리스트형 [자바/기본] ArrayList 란? JCF (Java Collection Framework) 와 List 인터페이스에 대한 내용에 이어, List 인터페이스를 상속받는 클래스 중 하나인 ArrayList에 대해서 포스팅 하고자 한다. ArrayList란? 자바 컬렉션 프레임워크 중 하나로 List 인터페이스를 상속받는 클래스이다. ArrayList 는 한번 생성되면 크기가 고정되는 배열 (EX. int[]) 과는 다르게 데이터를 추가 및 삭제하는 등의 메소드들을 지원해주어 편하게 사용할 수 있다는 장점이 있다. 데이터 참조가 매우 빠르다는 장점이 있지만 데이터를 삭제 하는데 많은 연산을 하고, 저장 용량을 늘리는데 많은 시간을 소모한다. ArrayList 사용법 생성 import java.util.ArrayList; 라이브러리 import.. [자바/기본] Stream 사용하는법 (Feat. Java) 이전 글(Stream 이란)에 이어서 Stream의 여러가지 메소드 들을 사용해 보고자 한다. public class Customer { String name; int age; public Customer(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return.. [자바/기본] Stream 이란? Stream 이란? Java8 부터 등장한 집합자료의 연산을 위해 사용 하는 객체 람다를 사용한다. https://jk25.tistory.com/196 [자바/기본] 람다식 (Lambda) 란? 람다 표현식 Java8 부터 도입 추상메소드가 하나뿐인 인터페이스를 Override를 통해 구현 이를 함수형 인터페이스 (Functional Interface) 라고 부름 익명 클래스 (관련 설명은 여기에[내부 클래스]) 의 더 jk25.tistory.com 본인은 InputStream, OutputStream 의 부모가 되는 객체로 예상 했었다. 아니었다. 확실히 아니다 Collection, 배열 등의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있게 지원해준다. EX) for문이나 forEach 등의 반.. [백준 10162] 전자레인지 (Feat.Java) 문제 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다. 냉동음식마다 전자레인지로 요리해야할 시간 T가 초단위로 표시되어 있다. 우리는 A, B, C 3개의 버튼을 적절히 눌러서 그 시간의 합이 정확히 T초가 되도록 해야 한다. 단 버튼 A, B, C를 누른 횟수의 합은 항상 최소가 되어야 한다. 이것을 최소버튼 조작이라고 한다. 만일 요리시간이 100초라고 하면(T=100) B를 1번, C는 4번 누르면 된다. 이와 다르게 C를 10번 눌러도 100초가 되지만 이 경우 10번은 최소 횟수가 아니기 때문이 답이 될 수 없다. .. [자바/기본] Optional 이란? Optional 이란? 자바의 가장 큰 고질적인 문제가 바로 null 체크 였다고 한다. 이를 해결하기 위해 값이 1개 있거나 없을 수 있는 클래스를 만듦 Java8부터 지원하는 Optional 클래스 NPE (NullPointer Exception) 를 피하기 위해 Null 값을 감쌀 수 있는 Wrapper Class 이다. Optional class Optional { T value; .... } Optional 없는 NullCheck 아래와 같은 User 클래스가 있다. public class User { private String address; public String getAddress() { return this.address; } public void setAddress(String add.. [백준 1439] 뒤집기 (Feat.Java) 문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로 만들 수 있다. 문자열 S가 주어졌을 때, 다솜이가 해야하는 행동의 최소 횟수를 출력하시오. 입력 첫째 줄에 문자열 .. [백준 2720] 세탁소 사장 동혁(Feat. Java) 문제 미국으로 유학간 동혁이는 세탁소를 운영하고 있다. 동혁이는 최근에 아르바이트로 고등학생 리암을 채용했다. 동혁이는 리암에게 실망했다. 리암은 거스름돈을 주는 것을 자꾸 실수한다. 심지어 $0.5달러를 줘야하는 경우에 거스름돈으로 $5달러를 주는것이다! 어쩔수 없이 뛰어난 코딩 실력을 발휘해 리암을 도와주는 프로그램을 작성하려고 하지만, 디아블로를 하느라 코딩할 시간이 없어서 이 문제를 읽고 있는 여러분이 대신 해주어야 한다. 거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 .. [자바/기본] 람다식 (Lambda) 란? 람다 표현식 Java8 부터 도입 추상메소드가 하나뿐인 인터페이스를 Override를 통해 구현 이를 함수형 인터페이스 (Functional Interface) 라고 부름 익명 클래스 (관련 설명은 여기에[내부 클래스]) 의 더 간략한 표현식이라고 볼 수 있다. 메소드를 간결한 함수 식으로 표현한 것으로 메소드의 이름, 반환값을 생략할 수 있기 떄문에 코드가 매우 간결해진다는 장점 한번 사용하고 버려질 클래스 라면, 선언 하지 않고 일회성 오버라이딩으로 사용 가능 예시 int add(int a, int b) { return a + b; } //아래와 같이 간단한 두 매개변수를 더하는 함수를 람다식으로 표현할 수 있다. (a, b) -> {return a+b;} 문법이 매우 짧아 지는 것을 확인 할 수 있.. 이전 1 2 3 4 ··· 24 다음