본문 바로가기
자료구조

CollectionFrameWork - ArrayList, Linked list

by zkzk7290 2024. 8. 5.
반응형
Collection FrameWork : 기존에 존재했던 자료구조에 인터페이스로 설계된 기능을 클래스를 통해 제공하여 데이터 관리에 용이한 자료구조 객체를 구조화한 것을 말합니다.
Collection:  다수의 데이터
Frame Work : 표준화된 프로그래밍 방식  

컬랙션 프레임워크 인터페이스

인터페이스 설명 특징 대표 구현 클래스 
 List 순서가 있는 데이터 집합(index 가능) 데이터 중복 허용  Arraylist, LinkedList
Set 순서를 유지하지 않는 데이터의 집합 데이터 중복 X HashSet,LinkedHashSet
Map 키와 값의 싸응로 이루어진 데이터 집합 순서 유지X  키중복X  값중복O HashMap, LinkedHash
Map, Properties

 

ArrayList :  가장 많이 사용하는 리스트 인터페이스의 대표적인  구현 클래스 입니다.

ArrayList 구조

  public static void main(String[] args) {
        List<String> list =new ArrayList<>();//리스트 선언'
        //데이터 삽입
        list.add("바나나");
        list.add("딸기");
        list.add("망고");
        list.add("수박");
        System.out.println(list);
        //데이터 변환
        list.set(1,"복숭아");
        list.set(0,"파인애플");
        System.out.println(list);
        //데이터 삭제 index 요소 넣어서 그위취 데이터 삭제
        list.remove(2);
        System.out.println(list);
        //전부 삭제
        list.clear();
        System.out.println(list);
        list.size();
        //list의 길이를 정수로 반환 
        
    }

결과

 

 

LinkedList :데이터와 다음 데이터의 주소를 가지는 노드(node)객체가 연결되어 데이터를 저장하는 자료구조 

LinkedList 구조

//생성
        LinkedList<Objects> member  = new LinkedList<Objects>();
        //생성시 초깃값 생성
        LinkedList<Integer> list = new LinkedList<Integer>(Arrays.asList(1,2));
        System.out.println(list);
 		list.add(10);
        list.add(20);
        System.out.println(list);

        list.addFirst(200);//리스트 가장 앞에 추가하기
        list.addFirst(100);
        System.out.println(list);

        list.add(1,150);//원하는 위치에다가 추가하기
        System.out.println(list);
		//삭제 기능
        list.remove(1);
        //숫자 타입의 데이터는 객체화 후 삭제
        list.remove(Integer.valueOf(200));
        System.out.println(list);
		//변환 
        list.set(0,100);
        System.out.println(list);
        // 리스트 전부 검색
        list.clear();
        System.out.println(list);

결과

array list, linked list의 차이점: 요수 추가 , 삭제 검색등의 작업에 따라 서능 특성이 다름
요소의 추가와 삭제가 자주 발생하는 경우에는 -linked list
요소의 접근이 자주 필요한 경우 즉 검색은 - array list

 

반응형

'자료구조' 카테고리의 다른 글

버블 정렬(bubbleSort)  (0) 2024.08.27
스택(Stack)  (0) 2024.08.19
Queue(큐)  (0) 2024.08.17
배열(Array)  (0) 2024.07.22