반응형
자바에서는 많은 양의 데이터를 저장하기 위해서 배열이나 컬렉션을 이용합니다. 이렇게 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해왔습니다. 하지만 이러한 방식으로 작성된 코드는 너무 길고 가독성도 떨어지며 코드의 재사용도 떨어집니다. 또 다른 문제는 데이터 소스마다 다른 방식으로 다뤄야한다는 점입니다. Collection이나 Iterator와 같은 인터페이스의 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있습니다. 예를 들면, List를 정렬할 때는 Collections.sort()를 사용하고, 배열을 정렬할 때는 Arrays.sort()를 사용한다는 점입니다. 이러한 문제를 극복하기 위해 나온 것이 바로 Stream입니다. ..
경험이 많이 없는 저는 대체 뭘 공부해야 하고 어떻게 준비하고 어떤 경험들을 해야 좋은회사에 들어갈 수 있는지에 대해 전혀 몰랐습니다. 그래서 여러 검색들을 통해 많은 사람들이 추천하는 책을 사서 실습해보고 최대한 github을 많이 이용하면서 새롭게 배운 지식들을 정리하고, 복습하며 독학하고 있었습니다. 공부하면서 글로는 이해가 안되는 개념들은 주로 영상을 통해 이해하는 편인데요. 그중 유튜브 테코톡을 자주 애용했었기 때문에 우아한테크코스가 무엇인지는 알고 있었고, 우아한테크코스에 대해 알아보기도 하였었습니다. 그 당시 알아봤을 때는 비전공자는 지원할 수 없는 영역의 교육인지 알았었는데, 이번 우아한테크코스 5기 일정이 나오게 되면서 보니 비전공자도 지원이 가능했었습니다! 그래서 우아한테크코스5기 백엔..
컬렉션 클래스들 타입 다음에 , , 등으로 붙여진 형식들을 많이 보셨을건데, 이게 바로 제네릭스입니다. 제네릭스란 클래스가 가질 타입을 미리 명시해줌으로써 제네릭스를 사용한 클래스의 객체가 형변환을 하지 않고 사용할 수 있도록 해줍니다. 하지만 만약 List list = new ArrayList(); 로 제네릭스를 명시했는데 이 list 객체에 Integer 타입을 넣게 된다면 컴파일 에러가 발생하므로 제네릭스를 정하면 그 제네릭스에 맞는 타입을 사용해야 합니다. 제네릭스의 장점 1. 타입의 안정성을 제공한다. 2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다. 대표적인 제네릭스의 타입 타입 제네릭스는 Object로 모든 종류의 타입을 지정 가능 합니다. 타입 설명 Object Element..
HashSet과 HashMap의 차이점 HashSet과 HashMap을 공부하다보면 이런 의문이 들 것입니다. 비슷한거 같은데 대체 뭐가 다르지 ? 이번에 이 두 컬렉션 클래스들을 정리하면서 의문이 들었기에 이번 포스팅에서는 차이점을 비교해 보려 합니다. HashSet과 HashMap 비교 표 HashSet HashMap 구현 Set의 구현체 Map의 구현체 중복허용 여부 객체 자체를 데이터로 저장하기 때문에 중복 X key는 중복을 허용 X value는 중복을 허용한다. 데이터 저장 객체(Object)만 저장할 수 있다. 내부적으로 HashMap을 사용하기 때문에 삽입되는 객체(Key값)와 dummy 객체(Value 값), 삽입 연산 동안 총 두 개의 객체가 생성 데이터를 key-value 쌍 형식으로..
HashMap은 Map 인터페이스를 구현하여 Map의 특징 키(key)와 값(value)를 묶어서 하나의 데이터(entry)로 저장한다는 특징을 가집니다. 그리고, 해싱(hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보여줍니다. HashMap은 키와 값을 각각 Object타입으로 저장합니다. 즉 (Object, Object)의 형태로 저장하기 때문에 어떤 객체도 저장할 수 있지만, 키는 주로 String을 대문자 또는 소문자로 통일해 사용합니다. 키(key) : 컬렉션 내의 키(key) 중에서 유일해야 한다. ( 중복을 허용하지 않는다 ) 값(value) : 키(key)와 달리 데이터의 중복을 허용한다. 키만 중복을 왜 허용하지 않는지에 대한 예로, 아이디와 비밀번..
이번 포스팅에선 배열 [ ] 을 List로 변환하는 방법을 설명하고자 합니다. 이 내용을 이해하기 위해선 기본형과 참조형에 대한 이해가 필요합니다. 기본형과 참조형에 대해 알고 싶으시다면 아래 포스팅을 참고하시면 됩니다. Java - 변수의 타입 (기본형과 참조형) data의 type 우리가 주로 사용하는 값 ( data ) 의 종류 ( type )은 크게 "문자와 숫자"로 나눌 수 있으며, 숫자는 다시 "정수와 실수"로 나눌 수 있습니다. 이런 값( data )의 종류 ( type )에 따라 값이 저장 hstory0208.tistory.com String[ ] ↔ List로 변환 String[ ]배열을 List로 변환 import java.util.*; import java.util.Arrays; pu..