프로그램에서 데이터에 대한 반복 계산을 작성하는 방법은 여러 가지가 있습니다. for 루프와 while 루프로 배열이나 입력 등 반복되는 데이터가 있을 때 그것을 하나씩 처리합니다. for (i=0; i 0; } public Student next() { Student st = shuffleList.get(0); shuffleList.remove(st); // 다음 요소를 꺼내 돌려주고 삭제한다 return st; } } } 프로젝트에서 여러 가지 콜렉션에 대해 for-each 문으로 차례로 돌려주며 뭔가 계산하는 기능을 사용하는데 이터레이터 패턴이 매우 유용합니다.
컴프리헨션과 제너레이터 수식을 살펴보겠습니다. 제너레이터는 좀 어려운 개념이긴 하지만 파이썬에서 정말 중요한 핵심이라고 할 수 있고 파이썬의 강력한 힘은 여기서 나온다고 해도 과언이 아닙니다. 컴프리헨션은 이전의 포스트에서 다루었는데, 사실 리스트 컴프리헨션이라고 하는 것이 더 적합합니다. 리스트를 생성하거나 변환하는 일을 아주 간결한 코드로 강력하게 할 수 있는 기능입니다. 이전 포스트에서도 얘기했지만 리스트 컴프리헨션은 파이썬의 가장 강력하고 편리한 기능 중 하나입니다. comp_list = [x*x for x in mylist if x % 2 == 1] --- (i) 제너레이터 수식은 리스트 컴프리헨션과 똑같이 만들어지는데 대괄호 [ ] 대신 괄호 ( )를 씁니다. gen_expr = (x*x fo..
자바에서 기본적인 코딩과 클래스, 상속까지를 마치고 나면 그 다음 고개가 제너릭이다. 제너릭은 상속과 인터페이스를 이해하고 나서 그 다음에 다루어져야 하는 주제여서 기초 단계에서는 그것이 왜 필요한지를 이해하기가 어렵다. 여기서는 상속과 인터페이스를 충분히 공부한 것으로 가정하고 제너릭이 왜 필요한가를 설명해 보겠다. 자바 컴파일러(또는 편집기의 툴팁)는 다음 코드에 대해 아래와 같은 경고(warning) 메시지를 보여준다. ArrayList list = new ArrayList(); ArrayList is a raw type. References to generic type ArrayList should be parameterized 이 의미는 ArrayList를 쓰려면 ArrayList 처럼 타입을 ..
- Total
- Today
- Yesterday
- 이터레이터
- 스트링 +
- ToString
- TypeError
- 스트링
- CompareTo
- Iterator
- Camel Style
- format
- comparable
- 이터러블
- rust
- Lazy evaluation
- typedef
- 패턴
- max
- python exercise
- follow
- contains
- indexof
- sort key
- 동적바인딩
- APPEND
- C++ 클래스
- 지연계산
- contentEquals
- zip
- python example
- 콜렉션
- 자바regex
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |