Java - Data Structure - Double Linked List
Java에서 Linked List를 만들었습니다. Node for DoubleLinkedList 우선 를 아래와 같이 설계했습니다. 얘를 외부에 따로 만들어줘도 문제가 없기는 한데, 저는 내에 으로 만들 겁니다. Java - DoubleLinke...
Java - Check class A is subClass of class B
java에서 class instance a가 class B의 instance인지 확인하려면 보통 를 사용합니다. 의 경우 runtime 시에 발생하는 type checking이며, 아래와 같이, 사용할 수 있습니다. 그러나, 의 경우 앞서 말한 ...
Java - Covariant Return Type
Covariant Return Type은 "함께 변하는 Return Type"이라고 해석할 수 있습니다. 기존의 java에서는 subClass에서 Method Overriding이 발생할 때, superClass에서의 Method와 Return ...
Java - Generic Programming - Type Bound
Type Bound는 Generic Programming을 사용할 때, "특정 타입을 상속받는 객체"만 허용되도록 제한하는 것을 말합니다. 다음 코드에서 는 type parameter인 TS가 "List를 상속받는다"라는 것을 의미하죠. List...
Java - Generic Programming - Wild Card
Java에서 Abstract Class인 는 에게 상속됩니다. 따라서, 아래와 같이, 변수가 객체를 가리킬 수 있죠. 그렇다면, 변수로 Instance를 가리키는 것 또한 가능할까요? 아래 코드를 실행해 보면 그렇지 않은 것을 알 수 있습니다. ...
Java - interface - default method
interface에서는 method를 선언만 할 수 있고 정의할 수는 없지만, 를 사용하면 정의할 수도 있습니다. Wrap-up interface의 모든 구현체에 동일하게 포함되는 method임에도, interface에서는 method를 정의할 ...
Java - stream - Collectors.groupingBy
은 stream의 각 요소에 을 적용하고 적용 결과를 key에 원소를 value에 넣어서 Map으로 리턴하는 방법을 말합니다. 또한 모아진 애들별로 operation을 추가로 적용할 수도 있습니다.
Java - stream - Collectors.partitioningBy
을 할 때, 를 사용하여 모으면 Predicate의 결과인 , 를 key로, 그리고 원소는 각 value에 들어가는 Map이 생성됩니다.
Java - File - Create, Move, Rename, Delete
Java - File - Create, Mkdir, Rename, Delete Java에서 File 혹은 Directory를 만들고 이름을 바꾸고 지우는 방법을 설명합니다.
Java - Array to Stream
Array를 Stream으로 변경하려면, 을 사용하면 됩니다. 가령 Scanner를 사용해서 입력받은 String을 split하여 바로 Stream으로 처리하려면 다음처럼 하면 되죠.
Java - Stream - IntStream vs. IntegerStream
다음과 같은 간단한 코드가 있습니다. 간단히, 의 요소들의 합을 모두 게산해주는 코드죠. 코드에 오류가 없을까요? 위 코드를 실제로 실행해 보면 다음과 같은 오류가 생깁니다. 에 가 존재하지 않는다는 이야기죠. 사람은 가 정수로 구성되어 있으니,...
Java - stream - IntStream to List
아래 코드를 봅시다. 에 대해서 간단한 를 처리하고 를 통해 List로 변환해서 넘겨주는 것이죠. 언뜻 보기에는 잘 되는 것처럼 보이지만, 그렇지 않습니다. 다음과 같은 오류 메세지가 뜹니다. 의 는 3가지 타입의 argument를 필요로 하는데...
Java - Read and Write File
java에서 File을 읽거나 혹은 쓰는 방법을 정리합니다. java.io.File java에서 을 읽거나 쓰려면, class를 사용하면 됩니다. File을 읽은 다음에 간단한 meta 정보를 알고 싶다면 다음의 method들을 사용해서 처리할 ...
Java - Read File by Scanner
흔히 시스템 입출력()에서 사용하는 에 을 넘겨서 사용할 수도 있습니다. 에는 다음과 같이 데이터가 담겨 있다고 하고요. 아래 코드에서처럼 을 에 넘겨주면. 결과가 잘 나옵니다.