ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자료구조] List, Set, Map 차이/ StringBuffer StringBuilder 차이
    Computer/알고리즘&자료구조 2017. 10. 13. 12:45

    String StringBuffer StringBuilder 차이점(http://ooz.co.kr/298)


    String - 불변, 추가되는 경우 새로운 객체가 만들어져서 복사되게 하고 그 새로 만들어진 객체를 참조하게 함. Java 가비지컬렉션으로 원래 있던 놈은 수거

    StringBuffer -  저장 공간 유연, 멀티 스레드 환경에서 사용하면 좋음, 동기화를 지원하기 때문에

    StringBuilder - 저장 공간 유연, 단일 스레드 환경에서 사용하면 좋음, 동기화 지원 안함. jdk 1.5 이후로는 String도 StringBuilder 지원함




    List, Set, Map 차이(http://j2yes.tistory.com)


    Set - 객체 중복 허용하지 않는다. (집합이다)

    List - 인덱싱, 중복 허용

    Map - 키와 데이터 값을 저장



    - ArrayList  vs Vector(http://seeit.kr/36)


    ArrayList는 동기화를 보장하지 않고, Vector는 동기화를 보장한다.

    ArrayList는 동기화를 보장하지 않는 대신 가볍고, 웹의 경우 서버가 동기화를 보장해 주므로 ArrayList를 사용하면 된다.

    List list = Collections.synchronizedList(new ArrayList()); 이렇게 해주면 Vector처럼 이용.

    제공되는 함수는 동일하다. get, add, remove, contains...

    추가 삭제를 할 경우, 데이터를 더 큰 배열에 혹은 작은 배열에 복사하는 방식이므로 성능이 매우 떨어진다. 
    Vector의 경우 용량이 다 차면 두배로 크기가 늘어남.



    - LinkedList vs (ArrayList, Vector)

    LinkedList는 객체의 추가 삭제가 많을 때 유리하다.

    ArrayList와 Vector는 데이터 항목 검색이 많을 때 유리


    LinkedList로 Stack과 Queue 구현이 가능하다



    - HashMap과 HashSet의 차이 (http://plaboratory.org/archives/1638)

    Set과 Map의 차이..




    - 정리 (출처 : http://kscho.tistory.com)





    'Computer > 알고리즘&자료구조' 카테고리의 다른 글

    [자료구조] 트리(Tree)란? (미완)  (2) 2017.11.16

    댓글

Designed by Tistory.