Language
[Java] stream vs for
[Java] stream vs for
2023.01.17이전에 한번 확인했던 내용이지만, 자바를 통해 프리코스를 수행하던 도중 다시 또 궁금증이 생기고 기억이 흐릿하여 작성해본다. 아마 자바를 공부해본 사람이라면 다 고민해봤을 내용이다. ※ 해당 내용은 우아한Tech 유튜브 채널의 "[10분 테코톡] 크리스, 로마의 stream vs for" 내용을 참고하였다 해당 영상의 자세한 내용은 https://www.youtube.com/watch?v=by8hb75i9X4 이 링크를 통해 보면된다. 코드 먼저 다음 코드는 Java 1부터 지원한 기본적인 for문이다. public static void main(String[] args) { List list = List.of(1, 2, 3, 4, 5); for (int i = 0; i < list.size(); i++..
[Java] 3. Iterator
[Java] 3. Iterator
2022.08.17Iterator? Iterator는 컬렉션에 저장된 요소에 접근하는데 사용되는 인터페이스이다. Iterator의 구버전으로 Enumeration이 있고, 기능을 향상 시킨 ListIterator가 있다. iterator()는 Collection 인터페이스에 정의된 메서드이므로 List와 Set에도 포함되어 있다. Map Iterator 처리 Map 인터페이스를 구현한 컬렉션 클래스는 key와 value를 쌍으로 저장하고 있기 때문에 iterator()를 직접 호출할 수 없다. 대신 keySet()이나 entrySet()과 같은 메서드를 통해서 key와 value를 각각 따로 Set의 형태로 얻어 온 후에 다시 iterator()를 호출해야 Iterator를 얻을 수 있다. Iterator it = map..
[Java] 2. List
[Java] 2. List
2022.08.12List? List는 컬렉션 프레임워크에서 제공하는 컬렉션 클래스 중 하나이다. 컬레션 프레임워크의 핵심 인터페이스에는 대표적으로 List, Set, Map이 있는데 여기서 List는 순서가 있고 데이터의 중복을 허용하는 특징이 있다. List 인터페이스의 구현 클래스에는 ArrayList, LinkedList, Stack, Vector 등이 있다. ArrayList ArrayList는 컬렉션 프레임워크에서 가장 많이 사용되는 컬렉션 클래스이다. ArrayList는 기존의 Vector를 개선한 것으로 Vector와 구현원리과 기능적인 측면에서 동일하며 Vector는 기존에 작성된 소스와의 호환을 위해 남겨두고 있을 뿐이기 때문에 가능하면 ArrayList를 사용하는 것이 좋다. ArrayList를 생성할..
[Java] 1. Collections Framework
[Java] 1. Collections Framework
2022.08.11Collections Framework? JDK1.2부터 Collections Framework가 등장하면서 다양한 종류의 컬렉션 클래스가 추가되고 표준화된 방식으로 다룰 수 있도록 체계화되었다. Collections Framework에서는 컬렉션데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였다. 그리고 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의하였다. 각 인터페이스 특징 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용함 ArrayList, LinkedList, Stack, Vector 등 Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허..