백엔드 개발자라면 대답해야 할 100가지 질문

9. Collection과 Collections의 차이점은 무엇인가요?

ignuy 2023. 8. 2.

Collection

Collection은 java.util. package에 포함되어 있으며 Collection framework의 루트 인터페이스이다. 주로 비슷한 성질을 가진 각각의 객체들을 묶어 놓기 위해 만들어 놓았다.

Collection은 인터페이스의 main sub-interface로는 List, Set, Queue가 있다. Map의 경우 java의 Collection framework에 포함되기는 하지만 Collection을 직접적으로 상속받고 있지는 않다. Collection 인터페이스의 주요 메서드로든 add(), remove(), clear(), size(), contains()가 있다.

Collections

Collection Collections
interface class
각각의 객체를 그룹단위로 묶기 위해 사용 Collection에 활용 가능한 다양한 유틸리티 메소드 내장
JAVA8부터 Collection은 static method를 포함하기 시작했다(인터페이스도 추상 메소드와 디폴트 메소드를 포함할 수 있다). 오로지 static method만 포함하고 있다.
// Java program to demonstrate the difference  
// between Collection and Collections
  
import java.io.*;
import java.util.*;
  
class Main {
    
    public static void main (String[] args) 
    {
      // Creating an object of List<String>
      List<String> arrlist = new ArrayList<String>(); 
        
      // Adding elements to arrlist
      arrlist.add("a");
      arrlist.add("b");
      arrlist.add("a");
        
      // Printing the elements of arrlist
      // before operations
      System.out.println("Elements of arrlist before the operations:");
      System.out.println(arrlist);
        
      System.out.println("Elements of arrlist after the operations:");
        
      // Adding all the specified elements
      // to the specified collection
      Collections.addAll(arrlist, "d", "c");
        
      // Printing the arrlist after
      // performing addAll() method
      System.out.println(arrlist);
        
      // Sorting all the elements of the  
      // specified collection according to 
      // default sorting order
      Collections.sort(arrlist);
          
      // Printing the arrlist after
      // performing sort() method
      System.out.println(arrlist);
          
    }
}

/**
 * Elements of arrlist before the operations:
 * [a, b, a]
 * Elements of arrlist after the operations:
 * [a, b, a, d, c]
 * [a, a, b, c, d]
 */

댓글