[JAVA 23.06.30] Generic, ArrayList, LinkedList

홍선우·2023년 6월 30일
0
  1. 제네릭(Generic)이란?
  • 자바 프로그래밍 언어의 기능 중 하나로, 타입 안정성(type safety)을 높이고 재사용성과 유연성을 높이기 위해 도입된 기능, 제네릭을 사용하면 클래스나 메서드를 정의할 때 일반적인 타입 대신에 실제 사용될 타입 매개변수(type parameter)를 사용할 수 있다.
  • 타입을 컴파일 시점에서 미리 정하고 들어감.

  1. 아래가 나오도록 프로그래밍 하시오.
    class DDBoxDemo {
    public static void main(String[] args) {
    DBox<String, Integer> box1 = new DBox<>();
    box1.set("Apple", 25);

DBox<String, Integer> box2 = new DBox<>();
box2.set("Orange", 33);

DDBox<DBox<String, Integer>, DBox<String, Integer>> ddbox = new DDBox<>();
ddbox.set(box1, box2);

System.out.println(ddbox);
}
}

Apple & 25
Orange & 33


  1. 아래와 같이 출력값이 나오도록 프로그래밍 하시오.
    public static void main(String[] args) {
    Box box1 = new Box<>();
    box1.set(99);

Box box2 = new Box<>();
box2.set(55);

System.out.println(box1.get() + " & " + box2.get());
swapBox(box1, box2);
System.out.println(box1.get() + " & " + box2.get());
}

99 & 55
55 & 99


  1. 제네릭 메소드에 대하여 설명하시오.
  • 메서드 선언 시에 타입 매개변수를 사용하여 다양한 타입에 대해 동작할 수 있는 일반적인 메서드를 정의하는 기능. 제네릭 메서드는 메서드의 반환 타입이나 매개변수의 타입으로 타입 매개변수를 사용할 수 있다.

  1. ArrayList, LinkedList 장점과 단점을 설명하시오.

    ArrayList의 장점

  • 저장된 인스턴스의 참조가 빠르다.

ArrayList의 단점

  • 저장 공간을 늘리는 과정에서 시간이 비교적 많이 소모,

  • 인스턴스의 삭제 과정에서 많은 연산이 필요할 수 있다. 따라서 느릴 수 있다.

    LinkedList의 장점

  • 저장 공간을 늘리는 과정이 간단하다.

  • 저장된 인스턴스의 삭제 과정이 단순하다.

    LinkedList의 단점

  • 저장된 인스턴스의 참조 과정이 배열에 비해 복잡하다. 따라서 느릴 수 있다.


  1. List 특징은?
  • 순서가 있다.
  • 중복이 허용된다.

0개의 댓글