본문 바로가기

자바27

자바를 자바 19 (Collection Framework (4)) : HashSet, TreeSet 8. HashSet 연결리스트와 set의 차이는 Set은 중복을 허용하지 않는다. null인 성분이 하나만 존재한다. 순서가 존재하지 않는다. Set의 Class는 위와 같이 구성이 된다. 우리는 HashSet과 TreeSet을 주로 사용하게 될 계획이다. HashSet: Methods Constructors Constructor은 위의 4가지가 존재한다. 이때 HashSet(int initialCapacity, float loadFactor)을 중심으로 봐보자 initialCapacity : element를 몇개 담을 수 있도록 설정하지를 정하는 것이다. loadFactor : capacity의 일정 수준 이상 차오르면 capacity를 두배로 증가시켜라(ex 0.75 : 75% capacity가 찼을.. 2020. 12. 3.
자바를 자바 18 (Collection Framework (3)) : Iterator, Array, Comparable, Comparator 5. Iterator 자바에서 어떤 Collection이 존재할때 데이터를 읽어드리는 방법은 여러가지 이지만 앞에서부터 차례대로 읽어드릴 때 사용하는 것. public interface Iterator { ... boolean hasNext(); E next(); void remove(); } 정의는 위와 같이 되어 있다. 그래서 next를 부를 때마다 다음 원자로 넘어갈 수 있고 다음 인자가 존재하는지 화인하기 위해 hasNext 함수가 존재한다. public interface Collection { ... public Iterator iterator(); ... } 어떤 collection이 존재하면 iterator에 해당하는 interface가 호출된다. Iterator: methods 함수는 위와.. 2020. 12. 3.
자바를 자바 17(Collection Framework(2)) Collection Framework(2) 3. LinkedList ArrayList와 LinkedList 모두 List라는 interface로 부터 상속 받아 구현되어져 있다. 하지만 두 List는 구현 방식이 다르고 성능도 다르다. ArrayList에 대해서 회고하여보면 ArrayList는 정말 배열 그자체로 연속적인 공간이 배정이 된다. 반면 LinkedList는 데이터들이 다음 객체의 주소를 가지고 있어서 객체가 서로 이어져 있다. class Node { Node next; // a link to the next element Object obj; // data } 그래서 LinkedList라고 불리는 이유가 인스턴스간의 연결이 되어 있어서 이다. Addition and deletion with .. 2020. 12. 3.
자바를 자바 16(Collection Framework) Collection Framework 이제부터는 자바에서 주로 사용하는 라이브러리를 사용하여 자바의 디자인 패턴들을 배우는 시간이 진행된다. Collection Framework : group of objects 라고 한다. 데이터들은 group으로 존재하기에 이 많은 데이터를 어떻게 저장하고 관리하고 꺼내오는지가 프로그래밍에서는 중요한 문제가 된다. 이때 자바프로그램이 이를 어떻게 관리하는지를 나타내 주는 것이 Collection Framework이다. 아래의 것들은 모두 interface로 구현이 되어 있다. 그래서 사용자가 Abstrace class를 받아와서 구현하는 형태로 되어 있다. List Classes : ArrayList, LinkedList, Stack, Vector Set Set 은 .. 2020. 11. 16.