국비 학원에서 월요일부터 조그만한 자바 미니 프로젝트를 시작해서 월화수 글을 쓰지 못했습니다. 프로젝트에서는 5명이서 2명 코딩 3명 ppt를 담당했고 메인 코딩은 저희 조 다른분이 하시고 저는 어시스트 코딩을 했고 추가적으로 발표도 맡았습니다. 그냥 단순한 관리 코딩이라서 따로 저 혼자 하나 만들어볼까 생각하고 있고 그 코드도 추후 올리볼까 합니다.
컬렉션
객체를 배열처럼 하나로 묶어서 삭제 수정 저장 등등 메서드를 사용하는 배열의 업그레이드 형태.
컬렉션의 장점
배열때 처럼 추가 삭제 수정을 직접 구현할 필요가 없음. (remove, add등의 메서드 제공)
속도, 질이 좋음.
편리하고 고성능!
collection 은 set, list, queue, deque가 있다.
-set은 중복된 값을 포함할 수 없는 컬렉션
-list는 값의 중복을 허용하고 배열처럼 인덱스를 이용해 값을 저장하거나 읽을 수 있습니다.
-Queue와 Dequeue는 사전 처리를 위해 여러 요소들을 대기하도록 하는데 사용합니다.
인터페이스
인터페이스는 크게 컬렉션과 Map으로 나뉘어집니다. 이 둘의 큰 차이점은 컬렉션은 값만 저장하지만 Map은 키와 값을 함께 저장한다는 점입니다. 키를 함께 저장하므로써 검색 기능을 용이하게 만들어줍니다.
ArrayList
장점 - List 인터페이스를 구현한 클래스로 가장 큰 특징으로는 가변 길이라는 점입니다. Null을 포함한 모든 타입을 저장할 수 있으며 데이터의 저장, 수정, 삭제, 읽기 메소드를 제공하며 데이터 처리를 간편하게 할 수 있습니다. 또한 가변길이라는 특징 덕분에 배열과는 다르게 데이터 개수에 제한 없이 사용이 가능합니다.
단점 - 기본적으로 동기화를 지원하지 않기에 여러 쓰레드를 쓸 경우 직접 동기화를 구현해줘야 합니다.
Iterator
컬렉션 프레임워크의 멤버 인터페이스인 Iterator은 컬렉션에 저장된 데이터를 탐색하는데 많이 쓰입니다. 특징은 컬렉션의 특징상 각 요소에 접근해서 값을 하나씩 읽는 작업을 많이 하는데 이러한 동작을 Iterator가 대신 해줍니다.
hasNext(), next() 등의 메서드를 사용하는데 hasNext()는 더 이상 읽을 값이 없으면 false, 있으면 true를 반환해서 따로 길이를 찾지 않아도 편하게 반복문을 돌릴 수 있습니다. next()메소드는 호출를 할 때 마다 1->2->3->... 순서대로 각 요소의 값을 읽어옵니다.
HashMap
Map은 빠른 검색을 위해 키와 값으로 저장합니다. 여기서 키는 중복될 수 없습니다.
참고 자료 : 국비 교육