- 컬렉션(collection) : 여러 객체(데이터)를 모아 놓은 것 - 프레임웤(framework) : 표준화, 정형화된 체계적인 프로그래밍방식, 생산성을 올려줌, 등장 배경을 이해하면 프레임웤을 사용하는 이유를 저절로 알게 됨 ex) collection framework, django framework, spring framework - 라이브러리 : 정보, 책, 오디오 라이브러리 등 -> 기능만 제공 - 컬렉션 프레임웤 : 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식, java.util패키지에 포함, jdk1.2부터제공 - List : 순서 O, 중복 O ex) 대기자 명단 * 구현 클래스 : ArrayList, LinkedList, Stack, Vector - Set : 순서x, 중복x ex) 양의 정수 집합, 소수의집합 * 구현클래스 : HashSet, TreeSet - Map : key, value쌍, 순서x, 중복(키x, 값o) ex) 우편번호, 지역번호(전화번호) * 구현클래스 : HashMap, TreeMap, HashTable(legacy), Properties(legacy)
컬렉션 프레임웍 컬렉션: 여러 객체를 모아 놓은 것 라이브러리: 다른 사람이 이미 만들어놓은 기능 프레임웍: 정형화된 프로그래밍 방식(생산성, 유지보수++ / 자유도--) 컬렉션 프레임웍: 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식 / 컬렉션을 다루는 다양한 클래스를 제공(1.2 이후) 컬렉션 클래스: 다수의 데이터를 저장할 수 있는 클래스 핵심 인터페이스 -List(순서O, 중복O / 대기자명단) -Set(순서X, 중복X / 집합) -Map(순서X, 키중복X, 값중복O / 아이디패스워드)
map이 collection이 아니라고 주장하는 분들이 계신데 설명을 부탁 드립니다. 아래는 그분의 글입니다. Java에서는 Collection 이라고 보지 않는다. 아래 링크를 보면 Collections API 에 대한 FAQ에서 왜 Map이 Collection Interface를 상속하지 않는지 설명하고 있다. docs.oracle.com/javase/8/docs/technotes/guides/collections/designfaq.html#a14 Java Collections API Design FAQ Why didn't you use "Beans-style names" for consistency? While the names of the new collections methods do not adhere to the "Beans naming conventions", we believe that they are reasonable, consistent and appropriate to their purpose. It should be remembere docs.oracle.com [내용 원문] Why doesn't Map extend Collection? This was by design. We feel that mappings are not collections and collections are not mappings. Thus, it makes little sense for Map to extend the Collection interface (or vice versa). 즉, 매핑(mapping)이 collections 이라고 보기 힘들고, collections 또한 mapping이라고 보기 힘들다는 것. 그렇기 때문에 의도적으로 Collections Interface를 상속하지 않았다는 뜻이다.
그리고 Collection Interface과 Map Interface의 호환성 문제도 있다. 첫 번째로 Collection Interface를 보면 이를 상속하여 구현된 클래스들은 모두 단일 데이터를 처리하지만, Map은 키(key)와 데이터(value)가 쌍을 이루며 처리하기 때문에 굳이 Map을 위해 Collection에서 Map과 관련한 메소드를 만들고 Map에서 Collection을 상속할 필요가 없다.
두 번째로는 Iterable Interface와 Map 간의 문제도 있다. 아까 잠깐 언급했듯이 Iterable은 반복가능한 형태를 의미한다고 했다. 그런데 Map은 구조상 키(key)에 대응되는 값(value)이라는 특징을 갖고 있는데, 반복자로 뱉기 위해서는 key와 value 중 어느 것으로 반복할 것인가? 즉, Iterable Interface의 iterator() 을 구현함에도 문제가 발생할 수 밖에 없다.
마지막으로 Java에서는 상속이라는 모델링 자체가 한가지 유형의 공통성을 모델링 한다는 것에 의미가 있는데 위 1번, 2번 이유 모두 상속과는 거리가 멀다.
전통적으로 data특성의 3가지 핵심은 List Set Map입니다. Collection Franework에 Map이 있는 이유도 그런 것이고요. collection이 무엇인가?를 어떻게 정의하느냐에 따라서 map이 들어가고 안들어가고 하겠죠. 자바에서는 Collection이라는 인터페이스를 정의했는데 Map과는 구조가 달라서 별도의 인터페이스로 되어 있습니다. 컬렉션을 Collection인터페리스로 보는 거라면 Map이 안들어가겠지만. 일반적으로 컬렉션이라고 하면 Collection인터페이스를 의미하지 않습니다. 여러 객체를 모아서 다루기 위한게 컬렉션의 일반적의 의미죠. 그런 의미에서는 Map이 컬렉션에 들어갑니다. Map이 컬렉션이 아니라고 하는 것은 컬렉션을 너무 좁게 해석하는 것이죠. 결론적으로는 컬렉션 프레임웍에 왜 Map이 들어가는지를 생각해보면 당연하게 답이 나오는 얘기고요. 이란거 따지는것보다 더 중요한 것들을 따지면 좋을 듯합니다. 저는 이글을 쓰고 있는 시간이 너무 아깝네요.
지하철로 출퇴근하며 약 6개월간 선생님 강의를 듣고 있습니다.. 드디어 11장이네요 책도 사서 보고있는데 기존에 듣던 강의보다 이해가 너무 잘되고 친절하게 설명해주셔서 감사합니다,,, 좋은 강의해주셔서 넘 감사합니다.
국비학원 2주차 진도가 너무 빠르네요 벌써 여기 배우는데 선생님 강좌 틈날때마다 계속 보면서어떻게 수업은 잘 진행하고잇습니다 ㅜㅜ감사합니다
- 컬렉션(collection) : 여러 객체(데이터)를 모아 놓은 것
- 프레임웤(framework) : 표준화, 정형화된 체계적인 프로그래밍방식, 생산성을 올려줌, 등장 배경을 이해하면 프레임웤을 사용하는 이유를 저절로 알게 됨
ex) collection framework, django framework, spring framework
- 라이브러리 : 정보, 책, 오디오 라이브러리 등 -> 기능만 제공
- 컬렉션 프레임웤 : 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식, java.util패키지에 포함, jdk1.2부터제공
- List : 순서 O, 중복 O
ex) 대기자 명단
* 구현 클래스 : ArrayList, LinkedList, Stack, Vector
- Set : 순서x, 중복x ex) 양의 정수 집합, 소수의집합
* 구현클래스 : HashSet, TreeSet
- Map : key, value쌍, 순서x, 중복(키x, 값o)
ex) 우편번호, 지역번호(전화번호)
* 구현클래스 : HashMap, TreeMap, HashTable(legacy), Properties(legacy)
4:46 프레임웍이란, 강의 감사합니다!!
우와.. 지금까지 ArrayList 써야하고 어떨 땐 HashMap 써야되는지 구분 못하고 제대로 이해하지도 못하고 쓰고 있었는데 배울생각에 설레네요 강의 정말 감사합니다 ㅠ.ㅠ
1회 시청 완료입니다.
파이썬에서의 List, Set , Dictionary 와 거의 같은 느낌이네요!~
11강 복습하러 왔습니다! 감사합니다.
11강 복습 시작합니다!!
List - 순서대로, 겹쳐도 됨. Set - 순서없고 겹치면 안됨. Map - 한 쌍. 순서 없고, key는 겹치면 안됨, value는 겹쳐도 됨. 20/10/20
복습중! 좋은 강의 감사합니다
컬렉션 프레임웍
컬렉션: 여러 객체를 모아 놓은 것
라이브러리: 다른 사람이 이미 만들어놓은 기능
프레임웍: 정형화된 프로그래밍 방식(생산성, 유지보수++ / 자유도--)
컬렉션 프레임웍: 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식 / 컬렉션을 다루는 다양한 클래스를 제공(1.2 이후)
컬렉션 클래스: 다수의 데이터를 저장할 수 있는 클래스
핵심 인터페이스
-List(순서O, 중복O / 대기자명단)
-Set(순서X, 중복X / 집합)
-Map(순서X, 키중복X, 값중복O / 아이디패스워드)
컬렉션 프레임웍
: 컬렉션(다수의 객체, 데이터)를 다루는 표준화된 방식, 유용한 컬렉션 클래스들 제공.
핵심
1. List : 식당 대기자 명단! 순서, 중복 O.
2. Set : 집합 생각하기! 내용물이 중요하지 . 순서, 중복 X.
--1.2를 묶어서 collection 인터페이스로 정의함.
3.Map : 아이디와 패스워드! 키와 값의 쌍(서로 관련 데이터 묶음)
아이디는 중복이면 안되지만 패스워드는 괜찮잖아 --> 순서 X, 키(아이디) 중복 X, 값(패스워드) 중복 O .
역쉬 자바의 갓정석 2020/11/17
감사합니다~ 왠진 모르겠지만 날짜쪽 공부하던것보다 컬렉션쪽이 훨씬 재밌네요
항상 잘보고 있습니다!
컬렉션 쉽게 익숙해지지가 않네요..ㅠㅜㅋㅋ
계속 돌려보겠습니다!
항상 좋은강의 감사합니다!
230829 여러번 빠르게 전체적으로 반복하는게 중요
2023 11월 29일 학습 종료
좋은 강의 감사합니다
감사합니다.
빠르게 복습합니다!
좋은 강의 감사합니다!
좋은강의 감사합니다!!!!!
감사합니다.~~~
잘 보고있습니다! 감사합니다 😁
1회 공부완료
잘보겠습니다~~
감사합니다!
12/12 다혜수진지영 day20
감사합니다~!!!
빨리 동강 다 올려주쎄요 현기증나서 11장 왔다고요 강사느임
11강 동강 잘 보겠습니다!! * 100
순서, 중복 O - list (대기자명단)
순서, 중복 X - set (집합)
순서 X, 중복 - key는 X, 값은 O (id와 pwd).
20/11/20
2회 시청 완료
감사합니다 :)
1회 시청 완료
완료
11장 시작 22.1.9
컬렉션복습 21/02/14
👍👍👍👍👍
01/09 1회 시청
11장 컬렉션 2회독, 2020.12.15
20201027 완료
1회 시청
20/11/25 - 0727
복습
드디어 여까지 왔다...
2회독 시작
1회독 시작
근데 리스트도 키 값이 정수인 맵 아닌가여??
네. 그리고 저장순서를 유지하죠
20-11-20 2
List set 단일 map 쌍
2회독
강의 정말 별로네요.. 내 마음의 별로♥
map이 collection이 아니라고 주장하는 분들이 계신데 설명을 부탁 드립니다. 아래는 그분의 글입니다.
Java에서는 Collection 이라고 보지 않는다. 아래 링크를 보면 Collections API 에 대한 FAQ에서 왜 Map이 Collection Interface를 상속하지 않는지 설명하고 있다.
docs.oracle.com/javase/8/docs/technotes/guides/collections/designfaq.html#a14
Java Collections API Design FAQ
Why didn't you use "Beans-style names" for consistency? While the names of the new collections methods do not adhere to the "Beans naming conventions", we believe that they are reasonable, consistent and appropriate to their purpose. It should be remembere
docs.oracle.com
[내용 원문]
Why doesn't Map extend Collection? This was by design. We feel that mappings are not collections and collections are not mappings. Thus, it makes little sense for Map to extend the Collection interface (or vice versa).
즉, 매핑(mapping)이 collections 이라고 보기 힘들고, collections 또한 mapping이라고 보기 힘들다는 것. 그렇기 때문에 의도적으로 Collections Interface를 상속하지 않았다는 뜻이다.
그리고 Collection Interface과 Map Interface의 호환성 문제도 있다.
첫 번째로 Collection Interface를 보면 이를 상속하여 구현된 클래스들은 모두 단일 데이터를 처리하지만, Map은 키(key)와 데이터(value)가 쌍을 이루며 처리하기 때문에 굳이 Map을 위해 Collection에서 Map과 관련한 메소드를 만들고 Map에서 Collection을 상속할 필요가 없다.
두 번째로는 Iterable Interface와 Map 간의 문제도 있다. 아까 잠깐 언급했듯이 Iterable은 반복가능한 형태를 의미한다고 했다. 그런데 Map은 구조상 키(key)에 대응되는 값(value)이라는 특징을 갖고 있는데, 반복자로 뱉기 위해서는 key와 value 중 어느 것으로 반복할 것인가? 즉, Iterable Interface의 iterator() 을 구현함에도 문제가 발생할 수 밖에 없다.
마지막으로 Java에서는 상속이라는 모델링 자체가 한가지 유형의 공통성을 모델링 한다는 것에 의미가 있는데 위 1번, 2번 이유 모두 상속과는 거리가 멀다.
전통적으로 data특성의 3가지 핵심은 List Set Map입니다. Collection Franework에 Map이 있는 이유도 그런 것이고요. collection이 무엇인가?를 어떻게 정의하느냐에 따라서 map이 들어가고 안들어가고 하겠죠. 자바에서는 Collection이라는 인터페이스를 정의했는데 Map과는 구조가 달라서 별도의 인터페이스로 되어 있습니다. 컬렉션을 Collection인터페리스로 보는 거라면 Map이 안들어가겠지만. 일반적으로 컬렉션이라고 하면 Collection인터페이스를 의미하지 않습니다. 여러 객체를 모아서 다루기 위한게 컬렉션의 일반적의 의미죠. 그런 의미에서는 Map이 컬렉션에 들어갑니다. Map이 컬렉션이 아니라고 하는 것은 컬렉션을 너무 좁게 해석하는 것이죠. 결론적으로는 컬렉션 프레임웍에 왜 Map이 들어가는지를 생각해보면 당연하게 답이 나오는 얘기고요. 이란거 따지는것보다 더 중요한 것들을 따지면 좋을 듯합니다. 저는 이글을 쓰고 있는 시간이 너무 아깝네요.
@@MasterNKS 답변에 감사 드립니다. 수고 하십시오.
복습중! 좋은 강의 감사합니다.
감사합니다!!
1회 시청