JAV)컬렉션 프레임워크 1 : list

조한미르·2024년 4월 25일
0
  • 제네릭
    -클래스가 다루어야할 객체 타입을 외부에서 지정하여 관리할 수 있는 기술
  • Generic 선언 및 생성
public class 클랙스명<T> {...}
public interface 인터페이스명<T> {...}
  • 자주 사용하는 타입의 인자와 의미

    <T> Type
    <E> Element
    <K> Key
    <N> Number
    <V> Value
  • List 컬렉션 클래스 (실습)
    - Array list 사용.

import java.util.ArrayList;
import java.util.List;

public class ListExam {
	public static void main(String[] args){
    
    //ArrayList<Integer> list01 = new ArrayList<>();
    
    List<Integer> list = new ArrayList();
    
    // 추가 
   	list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
    list.add(5);
    
    // 중간삽입 - 값이 추가되면서 공간도 늘어남. 하나씩 밀림
    list.add(5, 10);
    list.add(1, 20);
    
    // 치환
    list.set(0,5);
    list.set(4,13);
    
    System.out.println(list);
    
    ->[5, ,20, 2, 3, 13, 5, 10]
    
    // 삭제 - 공간도 삭제
    list.remove(4);
    list.remove(3);
    
    System.out.println(list);
    
    -> [5, 20, 2, 5, 10] 
    
    
    // 출력
    for(int i = 0; i < list.size(); i++) {
    	System.out.print(list.get(i) + "\t");
    }
    System.out.println("\n--------------------------------");
    
    for(int val : list) {
    	System.out.println(val + "\t");
    }
    
    System.out.println("\n--------------------------------");
    
    
    //iterator 를 이용한 출력
    Interator<Integer> iter = list.iterator();
    
    whiile(iter.hasNext()) {
    	System.out.println(iter.next());
    }
    
    -> 5      20      2     5       10
       --------------------------------
       5      20      2     5       10
       --------------------------------
       5202510
       
   }
}
  • LinkedList
    - LinkedList는 데이터와 다음 데이터의 주소를 가지는 노드(node)객체가 연결되어 데이터를 저장하는 자료 구조.
    - 순서가 있음. 기차와 같은 모양(데이터 주소 -> 데이터 주소 -> 데이터 주소 ->...)

LinkedList (중간 삽입, 삭제)사용. / ArrayList (단순 삽입, 삭제)사용.

  • 컬렉션 프레임 워크
    - 컬렉션 프레임 워크는 데이터를 다룰 때 사용되는 주요 자료구조를 말한다. 컬랙션은 기존의 List, Map, Set등의 자료 구조를 뜻하고 프레임워크는 클래스와 인터페이스를 묶어 놓은 개념입니다.

  • List 컬렉션
    - 배열과 비슷하게 index로 객체를 관리합니다. 다만, 배열과는 다르게 크기의 제한이 없으며 삽입, 삭제, 변경의 기능이 자유롭습니다. List에는 대표적으로 ArrayList와 LinkedList가 있습니다.

  • ArrayList
    - 데이터를 순차적으로 저장합니다. 데이터가 삽입될 때마다 크기가 증가하고 배열을 삭제하면 공간이줄어듭니다.index를 기준으로 값을 삽입하거나 추출합니다.

  • LinkedList
    - Node 객체를 기반으로 데이터를 저장합니다. Node 객체는 데이터와 자신 다음에 올 데이터와 주소 값으로 가집니다.

  • ArrayList는 데이터를 출력하거나 검색할 경우에, LinkedList의 삽입과 삭제가 빈번할 경우에 사용하면 더 좋은 성능을 보여줍니다.

profile
꼭 해내는 사람

0개의 댓글