목록컬렉션 (4)
삶 가운데 남긴 기록 AACII.TISTORY.COM
함수형 프로그래밍함수형 프로그래밍(Functional Programming, FP)은 자료 처리를 수학적 함수의 계산으로 취급하고, 프로그램의 상태(State)와 가변 데이터를 멀리하는 프로그래밍 패러다임 중 하나입니다. 객체 지향 프로그래밍(OOP)이나 명령형 프로그래밍(Imperative Programming)이 어떻게(How) 상태를 바꾸는 일련의 명령어에 집중하는 반면, 함수형 프로그래밍은 무엇(What)을 할지 함수의 응용(Application)에 집중합니다. 함수형 프로그래밍은 다음과 같은 이점을 제공합니다.예측 가능성 향상: 순수 함수와 불변성 덕분에 코드가 더 명확하고 예상치 못한 버그(Side Effect) 발생 가능성이 줄어듭니다.테스트 용이성: 외부 환경에 의존하지 않는 순수 함수 덕..
이진 트리(binary tree) 구조 검색을 위해서는 우선 정렬이 되어 있어야 하는데, 이때 정렬을 위해 이진트리구조를 이용합니다. 이진 트리 구조에 대한 자세한 내용은 생략하도록 하겠습니다. TreeSet 이진트리 기반 Set 컬렉션입니다. value와 왼쪽노드, 오른쪽노드로 구성됩니다. import java.util.NavigableSet; import java.util.TreeSet; public class TreeSetEx { public static void main(String[] args) { TreeSet scores = new TreeSet(); scores.add(new Integer(97)); scores.add(new Integer(78)); scores.add(new Intege..
Map key와 value로 구성된 객체를 저장하는 구조입니다. 여기서 key와 value는 모두 객체입니다. key는 중복될 수 없지만 값은 중복될 수 있습니다. 여기서 key는 중복을 허용하지 않으므로 set과 동일한 구조를 가진 객체입니다. 그래서 key는 keySet 형태로 저정되어 keySet() 메서드를 통해 얻을 수 있습니다. 만약 동일한 key로 value값을 저장하면 나중에 저장한 값으로 기존값이 대체되는 겁니다. HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있습니다. HashMap import java.util.HashMap; import java.util.Iterator; import java.util.Map; import j..
Set 순서를 유지하지 않고, 중복을 허용하지 않는 컬렉션 입니다. 수학에서의 집합과 유사한 개념입니다. 순서나 인덱스가 없기 때문에 Iterator 를 이용해서 값에 접근해야 합니다. HashSet Set 인터페이스를 구현한 클래스 입니다. HashSet은 객체를 저장하기 전에 객체의 해시코드를 얻어내고 이미 저장되어 있는 객체들의 해시코드와 비교해서 중복된 값이 있는지 검사합니다. public class HashSetEx { public static void main(String[] args) { Set set = new HashSet(); set.add("Java"); set.add("JDBC"); set.add("Servlet"); set.add("Java");//중복해서 저장되지 않음 set.a..
