Collection 5

Java 컬렉션 프레임워크_ Set(TreeSet)

Set에서 HashSet과 다르게 사용되는 클래스 TreeSet은 어떤 특징을 가지고 있을까요? TreeSet은 HashSet과 다르게 객체가 들어오게 되면 그 객체들을 자동적으로 오름차순으로 정렬을 합니다. 따라서 List처럼 따로 인덱스를 지정하지 않음에도 특정한 부분의 값들을 따로 가져올 수도 있고 가장 좌측의 값, 가장 큰 값, 어떠한 객체의 오른쪽에 있는 값등을 가져올 수 있습니다. public class CordJgTreeSet { public static void main(String[] args) { TreeSet treeSet = new TreeSet(); treeSet.add(1); treeSet.add(10); treeSet.add(5); treeSet.add(17); treeSet...

Java/Java 2023.01.14

Java 컬렉션 프레임워크 _ Set(HashSet)

Collection에서 집합의 특성을 가지고 있는 Set은 무엇일까요? Set은 수학에서 집합이라는 의미를 뜻합니다. 우리들이 수학에서 집합 단원을 배울 때 각 집합마다 각 요소들이 순차적으로 들어가는 게 아닌 마치 주머니에 있는 것 같은 모양을 많이 봤습니다. 여기에서 Set은 Collection 인터페이스의 상속을 받는 List와 차이가 나타납니다. List는 주로 순차적인 배열적인 특징을 가지고 있었다면 Set은 무분별한 공간에 저장되는 요소들을 이용하는 특징을 가집니다. 따라서, 각 인덱스마다 정보가 저장되어 같은 값이 저장되더라도 구분되던 List와 다르게 Set은 중복저장을 허용하지 않으며 저장순서를 저장하지 않습니다. 이는, 위 그림과 같이 수학적인 집합으로 생각하면 어찌보면 너무나 당연한 ..

Java/Java 2023.01.14

Java 컬렉션 프레임워크 Iterator

Iterator 란 무엇일까요? Iterator란 자바의 컬렉션(Collection)에 저장되어 있는 요소들을 순회하는 인터페이스입니다. 즉, Collection을 상속받는 List와 Set 인터페이스에서도 사용가능하다는 얘기입니다. Iterator 에는 아래와 같이 총 세 가지 메서드가 있습니다. 다음 요소가 있는지 판단하는 boolean 타입의 hasNext() 다음 요소를 가져오는 next(), 가져온 요소를 삭제하는 remove() next() 메서드와 remove()는 단독으로 사용할 수 없으며 꼭 hasNext() -> next() -> remove() 단계로 사용해야 사용할 수 있습니다. ArrayList list = new ArrayList(); for (int i = 1; i list 요..

Java/Java 2023.01.14

Java 컬렉션 프레임워크 LinkedList vs ArrayList

ArrayList와 LinkedList 의 차이는 무엇일까요? ArrayList는 List안에 갹 엘리먼트들이 순차적으로 저장되어져 있는 구조입니다. 따라서, ArrayList를 읽는다는 것은 붙어 있는 것들을 순차적으로 읽는 것이기에 굉장히 빠르게 읽으 수 있습니다. 반대로 LinkedList는 각 엘리먼트들이 순차적으로 저장되어져 있는 것이 아닌 상태에서 각 각의 엘리먼트들을 연결해서 저장되어져 있는 구조입니다. 따라서, LinkedList를 읽기 위해서는 각 각 연결되어져 있는 노드들을 읽어야하는 과정이 필요하기에 ArrayList에 비해서 읽는 속도가 느릴 수밖에 없습니다. LinkedList linkList = new LinkedList(10); -> 오류 ArrayList arrayList =..

Java 2023.01.14

Java 컬렉션 프레임워크_List_ArrayList (Collection framework)

컬렉션 프레임워크 뭘까요? 컬레션 프레임워크는 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다. 이러한 컬렉션 프레임 워크에는 List와 Set 인터페이스를 상속하는 Collection 인터페이스와 (key,value)의 값을 가지는 Map 인터페이스가 존재하는데 이 중 먼저 Collection의 상속을 받는 List에 대해서 알아보겠습니다. Collection 은 위에서 말한 것처럼 List와 Set을 상속하는 인터페이스인데요 순서가 있거나, 집합적인 저장공간을 나타내는 특징이 있으며 이 각각의 특징은 나뉘어 List -> 순서가 있는 저장 공간 Set -> 집합적인 저장 공간 으로 나뉘게 됩니다. List는 데이터의 순서가 유지가 되며, 중복 저장이..

Java/Java 2023.01.14