ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA_Collection
    JAVA 2020. 9. 3. 17:06
    반응형

    ArrayList

    구조

    • List<타입> 변수명 = new ArrayList<타입>()

    장점

    • 배열과 달리 사이즈를 선언 안해도 된다.
    • 검색을 할 때 유리하다.

    기능

    • add → ArrayList안에 매개 변수를 추가한다.
    • get → 매개 변수로 받은 인덱스에 있는 값을 반환한다.
    • remove
      • 매개 변수로 받은 인덱스의 값을 지운다.
      • 매개 변수로 받은 해당 값을 지운다.
    • size → 해당 list의 사이즈를 반환한다.

    Arrays.asList()

    Arrays의 ArrayList를 리턴한다.

    원소를 추가하는 메서드는 가지고 있지 않기 때문에 사이즈를 바꿀 수 없다.

    새로운 원소를 추가하거나 삭제 할 수 없다.

    Vector

    구조

    • List<타입> 변수명 = new Vector<타입>()

    특징

    • 동기화된 메서드로 구성되어 있어 멀티 쓰레드가 동시에 실행할 수 없다.
    • 멀티 쓰레드 환경에서 안전하게 객체를 추가 삭제 할 수 있다.

    LinkedList

    구조

    • List<타입> 변수명 = new LinkedList<타입>()

    장점

    • 삽입 / 삭제를 할 때 유리하다.

    • Set

      특징
      • 중복을 허용하지 않는다.
      • 순서를 유지 하지않는다.
      종류
      • HashSet, LinkedHashSet,TreeSet
      기능
      • 객체 삽입
        • add(), 리턴 boolean → 매개변수를 객체에 추가
      • 객체 검색
        • isEmpty(), 리턴 boolean → 객체가 비어있으면 true, 아니면 false 반환
        • contains(), 리턴 boolean → 매개변수 값이 포함되어 있으면 true, 아니면 false 반환
        • size(), 리턴 int → 해당 객체의 사이즈를 반환
        • iterator(), 리턴 Iterator<E>
      • 객체 삭제
        • clear()
        • remove(), 리턴 boolean, 매개변수 객체
    • Iterator (반복자)

      특징
      • 반복이 필요할때 많이 사용
      • hasNext(), 리턴 boolean ,있는지없는지
      • next(), 리턴 E ,다음값을 가져옴
      • remove(), 리턴 ,void
    • Map

      특징
      • key와value로 구성된다.
      • 중복저장 x 값은 같은값이 있을 수 있다.
      • 동일한 key에 값을 다시 넣으면 기존 값을 없어지고 새로운 값으로 업데이트 된다.
      종류
      • HashMap, HashTable, LinkedHashMap, Properties, TreeMap 등..
      기능
      • 추가
        • put() 주어진 키와 값을 추가, 저장 후 값(Value) 리턴
      • 검색
        • boolean containsKey(Object key) 주어진 키가 있는지 확인
        • boolean containsValue(Object value) 주어진 값이 있는지 확인
        • Set<Map.Entry<K, V>> entrySet()
        • V get(Object key) key에 해당되는 값을 리턴
        • Set<K> keySet() 모든 key를 Set에 담아서 리턴
        • int size() key의 개수를 리턴
        • Collection<V> values() 저장된 모든 값을 Collection에 담아 리턴
      • 삭제
        • void clear()
        • V remove(Object key)
    • HashTable

      • HashMap과 동일한 내부구조를 가지고 있고 차이점은 동기화(synchronized)된 메소드로 구현되어있다.
    • 이진 트리

      • 최상위 노트에서 자식 노드 로 뻗어 나가는 나무 형태로 구성되어있다.
      • 부모 노드 하나의 최대 두개의 자식 노드를 가질 수 있다.
      • 두개의 노드가 위아래로 연결되어 있을 때 위에 노드는 부모, 아래 노드는 자식으로 정의한다.
      • 값을 추가할 때 부모 노드 보다 작은 값은 왼쪽 자식 노드, 큰 값을 오른쪽 자식 노드에 저장한다.
    • TreeSet

      특징
      • 이진트리를 사용해 검색기능을 강화한 컬렉션
      • 자동정렬 기능이 있다.
      기능
      • first()
        • 제일 낮은 객체를 리턴, 리턴타입 E
      • last()
        • 제일 높은 객체를 리턴, 리턴타입 E
      • lower(E e)
        • 주어진 객체보다 바로 아래 객체를 리턴
      • higher(E e)
        • 주어진 객체보다 바로 위 객체를 리턴
      • floor(E e)
        • 주어진 객체와 동등한 객체가 있으면 리턴, 만약 없으면 주어진 객체의 바로 아래의 객체를 리턴
      • ceiling(E e)
        • 주어진 객체와 동등한 객체가 있으면 리턴, 만약 없으면 주어진 객체의 바로 위의 객체를 리턴
      • pollFirst()
        • 제일 낮은 객체를 꺼내오고 컬렉션에서 제거
      • pollLast()
        • 제일 높은 객체를 꺼내오고 컬렉션에서 제거
    • TreeMap

      특징
      • Key와 Value로 구성된 이진 트리 구조
      • 부모 노드의 키 값을 기준으로 엔트리를 구성한다.
      • 특정 객체를 찾거나 범위 검색을 할때 주로 사용한다.
      기능
      • firstEntry() return Map.Entry<K,V>
        • 제일 낮은 객체를 리턴
      • lastEntry() return Map.Entry<K,V>
        • 제일 높은 객체를 리턴
      • lowerEntry(K k) return Map.Entry<K,V>
        • 주어진 키보다 바로 아래 객체를 리턴
      • higherEntry(K k) return Map.Entry<K,V>
        • 주어진 키보다 바로 위 객체를 리턴
      • floorEntry(K k) return Map.Entry<K,V>
        • 주어진 키와 동등한 키가 있으면 해당 객체를 리턴
        • 만약 동등한 키가 없으면 바로 아래의 객체를 리턴
      • ceilEntry(K k) return Map.Entry<K,V>
        • 주어진 키와 동등한 키가 있으면 해당 객체를 리턴
        • 만약 동등한 키가 없으면 바로 위의 객체를 리턴
      • pollFirstEntry() return Map.Entry<K,V>
        • 제일 낮은 객체를 꺼내 오고 컬렉션에서 제거
      • pollLastEntry() return Map.Entry<K,V>
        • 제일 높은 객체를 꺼내 오고 컬렉션에서 제거

    LIFO(Last In First out)

    후입 선출 ( 마지막에 넣은 객체가 맨 처음에 꺼내 진다.)

    Stack<E> s = new Stack<E>();
    • push(E item) : 주어진 객체를 스택에 넣는다.
    • pop() : 스택의 맨 위 객체를 리턴, 해당 객체를 스택에서 제거
    • peek() : 스택의 맨 위 객체를 리턴, 스택에서 제거 하지 않는다.

    FIFO(First In First Out)

    선입 선출 (처음에 넣은 객체가 맨 처음에 꺼내 진다.)

     Queue<E> q = new LinkedList<E>();
    • offer(E item) : 주어진 객체를 큐에 넣는다.
    • poll() : 큐의 맨 위 객체를 리턴, 해당 객체를 큐에서 제거
    • peek() : 큐의 맨 위 객체를 리턴, 큐에서 제거 하지 않는다.
    반응형

    'JAVA' 카테고리의 다른 글

    JAVA_Parallel Operation  (0) 2020.09.03
    JAVA_Stream  (0) 2020.09.03
    JAVA_Generic  (0) 2020.09.03
    JAVA_Exception  (0) 2020.09.03
    JAVA_Thread  (0) 2020.09.03

    댓글

Designed by Tistory.