2014년 9월 22일 월요일

java. 자료구조의 methods 간단 정리


java의 자료구조는 java.util.Collection으로 간단 정리 한다.
Collection의 자료구조는 Collections로 algorithm이 구현되어 있음.
Arrays는 덤.(Collection : Collections = 배열 : Arrays)

java.util.Collection

Collection interface는 기본적으로 다음 methods를 이용한다.
  • Iterable을 implements 하는건 당연
  • add() ,  addAll() : 데이터 담기용 메소드
  • contains() ,  containsAll() ,  isEmpty() ,  equals() ,  size() : 데이터 확인용
    메소드
  • clear() ,  remove() ,  removeAll() : 데이터 삭제용 methods

java에서 data 저장은 배열(Array)과 다음 네 가지 자료구조이다.
  • 순서가 있는 목록(List) 형
    • ArrayList
    • AttributeList
    • LinkedList
    • RoleList
    • Stack
    • Vector
    • methods
  • 순서가 중요하지 않은 셋(Set) 형
    • 동일 key에 값이 중복될 수 없어  unique한 값을 저장할 때 필요함.
    • EnumSet
    • HashSet / LinkedHashSet
    • TreeSet
    • methods
      • contains(Object o) /containsAll(Collections c): o / c가 모두 포함된지 확인.
  • 먼저 들어온 것이 먼저 나가는 큐(Queue) 형
    • ArrayDeque
    • DelayQueue
    • LinkedList
    • methods
      • offer(): put
      • poll() / peek(): 꺼내기 / 들여다보기
  • 키-값(key-value) 으로 저장되는 맵(Map) 형 --> Map
    • List와 다른 점은 key값에 값이 매칭 되어 있다는 점이 다르다.
    • 당연히 key는 중복 불가.
    • EnumMap
    • HashMap
    • TreeMap
    • methods
      • get() / put() / putAll(Map m) / size() / isEmpty()
      • clear()
      • containsKey() / containsValue(): key나 value가 있는지 확인
      • equals()
      • hashCode(): map의 hash code를 return
      • keySet(): key를 Set 형태로 return
      • values(): Collection<>을 return.

java.util.Collections
Collection을 쉽게 제어하는데 쓰임.
methods:
  • addAll() / copy() / binarySearch() / fill()
  • checkedCollection() / checkedMap() / checkedList() / checkedSet()
  • checkedSortedMap()/ ~Set()
  • disjoint(Collection c1, Collection c2) 하나도 안겹치면 return true
  • emptyxxx(): 깡통 List / Map / Set 등을 return
  • frequency(Collection c, Object o): c에 o가 몇 개 있는지?
  • indexOfSubList(List l, Object o) / lastIndexOfSubList(): l에 o의 첫 번째 index / 마지막 index
  • list(): ArrayList로 return
  • max() / min()
  • nCopy(): n번 복사한 배열
  • reverse(): 순서를 꺼꾸로
  • rotate() / suffle(): 돌리고 섞기
  • swap(a, b): a, b swap
  • 그 외 매우 많다! 생략함..

java.util.Arrays
 Array를 쉽게 제어하는데 쓰임
methods:
  • asList(): List 형으로 변환해서 return.
  • binarySearch(Object[] o, key):key 값으로 순서를 찾음.
  • copyOf() / copyOfRange()
  • equals() / deepEquals()
  • fill(Object[] a, b): a를 b로 전부 채움
  • hashCode(): hash code return
  • sort(): 앞의 post에서 소개함.
뭐 워낙 자주 쓰는거라 당연히 알고 있어야 한다고 생각함.


쓰다보니 길어졌지만 이게 간단 정리한 것이다.
TODO: 너무 뻔한건 지우자

댓글 없음: