java (26) 썸네일형 리스트형 [210124] java Character.digit() & Character.isDigit() java.lang.Character.digit() 해당 문자가 특정 범위 안에 있는 숫자라면 문자가 아닌 숫자로 변환해서 반환한다. public static int digit(char ch, int radix) ch : 변환할 문자 radix : 기수. ch가 radix 안에 있는 유효한 숫자가 아니거나, radix의 범위가 MIN_RADIX [210120] Java Optional Optional 이란? Optional 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스다. 모든 타입의 참조 변수를 지정할 수 있다. 또한, Optional을 사용함으로서 일부의 NullPointException의 발생을 피할 수 있다. 아래로 이어지는 설명은 모두 오라클의 기술 문서를 번역해서 작성하였다. www.oracle.com/technical-resources/articles/java/java8-optional.html Computer의 중첩된 구조의 객체가 있다. 이에 대해 다음과 같은 코드를 작성한다고 생각해 보자. String version = computer.getSoundcard().getUSB().getVersion(); 컴퓨터에 있는 US.. [210118] java Stream (1) - stream 정의와 관련 메소드 Stream은 java8에서 추가된 API이다. 데이터를 선언적으로 처리하고 특정 코드를 작성할 필요 없이 멀티 코어 아키텍처를 활용할 수 있도록 하기 위해 추가되었다. Stream의 특성은 아래와 같다. Sequence of elements : stream은 순차적인 방식으로 특정 유형의 집합을 제공한다. 요소를 주문형으로 가져오고 처리하며, 요소를 저장하지는 않는다. 원본 데이터 구조를 변경하지도 않는다. Source : Stream으로 Collection, Array, 혹은 I/O 리소스를 사용할 수 있다. Aggregate operations : filter, map, limit, reduce, find, match 등의 메소드를 제공한다. Pipelining : 대부분의 Stream 함수가 처리.. [210117] JAVA 대소문자 관련 String 메소드 1. toUpperCase() public String toUpperCase() - 문자열에 있는 모든 문자를 대문자로 치환한다. ex) String s = "abcdEfg"; System.out.println(s.toUpperCase()); 실행 결과) 2. toLowerCase() public String toLowerCase() - 문자열에 있는 모든 문자를 소문자로 치환한다. ex) String s = "ABCdEFG"; System.out.println(s.toLowerCase()); 실행 결과) 3. equalsIgnoreCase() public boolean equalsIgnoreCase(String anotherString) - 대소문자 조건을 무시하고 문자열을 비교한다. 매개변수 - an.. [210116] java comparable & comparator . Comparable과 Comparator 모두 interface로 array나 collection 요소를 정렬하는 데 사용한다. 하지만 사용하는 상황 등에서 약간의 차이점이 있다. Comparable - Comparator 간의 차이점 java.lang.Comparable 1) 사용 시 인스턴스에 해당되는 클래스에 영향을 미치며, 실제로 클래스를 변경시킨다. 2) compareTo 메소드를 제공한다. 3) Collections.sort(list) 메소드를 사용해서 정렬을 수행한다. 사용 시 인스턴스 클래스에 override한 compareTo 메소드를 기반으로 요소를 비교한다. => 클래스에 대한 기본적인 정렬 기준을 생성할 때 사용한다. java.util.Comparator 1) 함수적 인터페이스로.. [210112] java collection Collection Framework 컬렉션 프레임워크(Collection Framework) 컬렉션 프레임워크는 오브젝트의 집합을 구현하며, 다른 클래스를 저장하는 목적으로 사용된다. interface를 통해서 제공된다. 컬렉션 프레임워크를 사용했을 때의 장점 먼저, 자바에서 제공하는 자료구조와 알고리즘을 그대로 사용할 수 있으므로 직접 프로그래밍을 할 필요가 줄어든다. 컬렉션 프레임워크에서 제공하는 자료구조나 알고리즘은 높은 수준으로 구현되어 있다. 그리고, 다형성을 통해 인터페이스를 바꿔서 상속하면서 각각의 인터페이스에 대한 다양한 구현을 할 수 있다. 기본 인터페이스를 베이스로 한 재사용도 가능하다. 컬렉션 프레임워크는 다음을 포함한다. Collection interface: set, list, .. [201216] lambda 및 함수적 인터페이스 . 이전 iterator 글을 쓰면서 Iteraotr interface 소스를 읽어보다가, 매개변수에 Consumer 자료형의 변수가 있는 걸 보고 궁금해서 찾아보다가 람다식에 대해 알아보고 간략하게 정리하게 되었다. . lambda란? JAVA8에서 추가되었으며 익명 함수 구현을 위한 것이다. 익명 함수는 적은 횟수나, 한 번만 정의되고 쓰일 함수를 말한다. 람다식을 사용하면 코드 라인 수를 줄이고 코드를 간결하게 작성할 수 있다. Stream API나, 함수적 인터페이스를 사용했을 때 더 강력하게 이용할 수 있다. 어떤 면에서는 병렬 처리나, 성능 향상의 장점도 있다고 한다. ( stackoverflow.com/questions/33492203/what-are-the-advantages-of-usin.. [201211] default method . 이전 글을 작성하면서 iterator 인터페이스를 뜯어보다가 default 키워드와 함께 구현된 메소드를 발견하게 되었다. default 키워드는 처음 보는 키워드였기에 어떤 역할을 하는지 찾아보았다. interface는 기본적으로 함수 몸체를 구현하지 않고, interface에서 상속하는 클래스에서 모든 구현을 담당해야 한다. interface를 구현할 때 메소드의 내부까지 함께 구현해두고 싶은 메소드가 있다면 default 키워드를 맨 앞에 작성하고, 몸체를 구현해주면 된다고 한다. 예제를 만들어보았다. public interface Animal { void run(); void eat(); default void breathe() { System.out.pr.. 이전 1 2 3 4 다음