iterable
-
람다와 스트림 - 컬렉션과 함수형 인터페이스백엔드/자바 2021. 9. 1. 19:38
JDK 1.8부터는 함수형 인터페이스가 추가됐고, 그와 더불어 컬렉션 프레임웍을 편하게 사용할 수 있도록 컬렉션의 인터페이스에 디폴트 메서드가 추가됐다. 그 중 일부는 함수형 인터페이스를 사용하는데 이번 파트에서 그러한 메서드들에 대해 설명한다. 인터페이스 메서드 설명 Collection boolean removeIf(Predicate filter) 조건에 맞는 요소 삭제 List void replaceAll(UnaryOperator operator) 모든 요소를 변환하여 대체 Iterable void forEach(Consumer action) 모든 요소에 작업 action을 수행 Map V compute(K key, BiFunction f) 지정된 키의 값에 작업 f를 수행 V computeIfAbs..
-
for...of / for...in 에 대해서프론트엔드/JavaScript 2020. 9. 9. 23:09
자바 스크립트 for문에는 'for...in'과 'for...of'가 있다. 이 둘을 쓰면 일반 for문을 쓰는 것보다 편하게 for문 작성이 가능하다. 1. for...of / iterable 객체 순회 가능(주로 배열을 위해) 'for...of'문은 반복할 수 있는 객체(iterable objects)를 순회할 수 있도록 해주는 반복문. 자바스크립트에서 반복 가능한 객체는 Array, Map, Set, arguments 등이 있다. 이 반복문은 루프마다 객체의 열거할 수 있는 프로퍼티의 값을 지정된 변수에 대입한다. 즉 배열을 기준으로 순회하며 배열의 값을 돌려준다. 'for...of'는 iterable하지 못한 객체를 순회할 수 없다.(리터럴 객체) 에러난다. 간단히 이야기하면 배열의 경우 배열 안..
-
컬렉션 - iterator, Listiterator, Enumeration백엔드/자바 2020. 8. 17. 02:44
iterator, ListIterator, Enumeration이란? 컬렉션에 저장된 데이터에 접근하는데 사용되는 인터페이스. Enumeration은 iterator의 구 버전으로서 현재는 주로 iterator가 사용된다. 다만 오래된 코드들의 지원을 위해 Enumeration은 여전히 지원하고 있다. 그래서 실제 학습은 itertor만으로 충분하다. 해당 인터페이스들의 필요성 컬렉션에서 전체 데이터를 한 번에 읽어올 때 다소 번거로운 감이 있다. List, Set, Map의 자료 구조가 모두 다르고, 읽어오는 방법도 제각각이기 때문이다. 그래서 등장한 것이 바로 iterator 계열의 인터페이스다. iterator 계열의 인터페이스들은 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한다. 이를 이용하면..