분류 전체보기

· Java
동일성 vs 동등성 동일성은 두 객체의 주소가 같은 것을 말한다.반면동등성은 두 객체의 주소와 내용이 같은 것을 말한다.  equals()와 hashCode()equals()는 모든 객체의 부모인 Object 클래스의 메소드로 모든 객체들이 상속받는다.Object에 정의된 equals()는 객체의 주소값만을 통해 동일성을 판단한다. hashCode()도 마찬가지로 Object클래스의 메소드로 모든 객체들이 상속받는다.Object에 정의된 hashCode()는 객체의 고유값인 해시값을 반환한다.하지만 여기서 주의해야할 점은 다른 객체라고 해서 무조건 해시값이 같은 건 아니다. 다음의 예시를 보자.String s1 = new String("s");String s2 = new String("s");System..
· Java
Stream APIStream API는 람다식과 함께 Java 8버전부터 지원하는 기능으로 객체지향 언어였던 자바에서도 함수형 프로그래밍을 가능하게 해준다.여기서 말하는 Stream은 IO의 Stream과는 다른 개념이다. Stream이란 Array, List, Map등의 자료구조를 처리하는 연속적인 데이터의 흐름이다. Stream은 다음과 같은 특징을 가진다.원본의 데이터를 변경하지 않는다.일회용이다.내부 반복으로 데이터를 처리한다.Stream API를 사용하면 Array, List, Map등의 자료구조를 for문으로 다둘 때보다 매우 간결한 코드로 다룰 수 있게 된다.List의 각요소를 2배로 만드는 상황을 보자. 1. 전통적인 for문을 사용하는 경우import java.util.ArrayList;..
· Java
익명 클래스 (Anonymous Class)람다식을 이해하기 위해선 익명함수를 이해해야한다.익명클래스란 내부클래스의 일종으로 말그대로 이름이 없는 클래스를 말한다. 이름이 없다는 것은 부를필요가 없다는 것으로 그 클래스 내부의 구현이 다변하게 변경될 때 종류별로 클래스를 정의하긴 힘들기 때문에 사용한다. 익명클래스를 사용하는 예시익명클래스를 사용하는 가장 대표적인 예시는 sort()메소드를 사용할 때다.sort()메소드는 인자로 Comparator 인터페이스의 구현체를 받는데 이 Comparator 구현체를 통해 정렬하는 기준을 정의한다. Compartor 구현체예시import java.util.Comparator;class Student { private String name; private..
· Java
HashMap의 데이터를 value값으로 정렬하기1. List 만들기HashMap을 정렬하기 위해선 다음과 같이 entrySet()으로 변환시킨 뒤, List에 넣어야한다.Map map = new HashMap();List> entries = new ArrayList(map.entrySet());이때 List의 Generic에는 Map.Entry 객체가 들어가야 한다.ArrayList 생성자로 entrySet을 넣어주면 쉽게 List를 만들 수 있다.2. sort()메소드로 정렬하기sort() 메소드의 매개변수로 Comparator 객체를 넣어주면 된다.Map map = new HashMap();List> entries = new ArrayList(map.entrySet());entries.sort((e..
jaehee1113
'분류 전체보기' 카테고리의 글 목록 (19 Page)