울음참고 개발공부
article thumbnail
728x90

 

 

 

차이점
Collection은 인터페이스로 컬렉션의 공통 메서드를 정의하고,
Collections는 유틸리티 클래스로 컬렉션을 조작하고 다양한 작업을 수행하는 메서드를 제공

 

 

 

Collection

 

  • Java 컬렉션 프레임워크의 인터페이스
  • java.util 패키지에 속해 있으며, 다양한 컬렉션들의 상위 인터페이스
  • 객체들의 그룹을 저장하고, 조작하는 데 사용되는 일반적인 동작과 메서드 정의

* Collection 인터페이스는 List, Set, Queue  등의 서브인터페이스를 상속받고 있음

Collection 인터페이스를 구현하는 클래스들은 객체들을 모아놓은 컬렉션을 표현하며,

각각의 클래스에 따라 저장 방식과 동작이 다를 수 있음 

 

 

http://www.tcpschool.com/java/java_collectionFramework_concept

 

 

 

 

 

 

Collections 

 

  • Java 컬렉션 프레임워크에서 제공하는 유틸리티 클래스 
  • java.util 패키지에 속해 있으며, 정적 메서드들로 구성되어 있음
  • Collections 클래스는 컬렉션 객체들을 조회하고 정렬하며, 검색과 같은 다양한 작업을 수행하기 위한 메서드들 제공
  • 이 클래스의 메서드들은 정적으로 선언되어 있기 때문에, Collection 클래스의 인스턴스를 생성하지 않고도 직접호출할 수 있음

 

Collections 클래스의 일부 유용한 메서드
sort(): 리스트를 정렬
reverse(): 리스트의 순서 뒤집기
shuffle(): 리스트의 요소들을 무작위로 섞기
binarySearch(): 정렬된 리스트에서 이진 검색을 수행
max(), min(): 컬렉션에서 최댓값과 최솟값을 찾기
addAll(): 여러 요소를 한 번에 컬렉션에 추가

 

 


 

 

 

List, Set, Map의 차이점

 

 

 

차이점
이 세 가지 인터페이스는 다양한 메서드를 제공하여 데이터의 추가, 제거, 검색 등을 수행할 수 있습니다.
각 인터페이스는 특정한 사용 사례와 요구 사항에 맞게 선택하여 사용됩니다.
예를 들어, 순서가 필요한 경우 List를 사용하고, 중복된 요소를 허용하지 않는 경우 Set을 사용하며,
키와 값의 쌍을 저장하고 조회해야 하는 경우 Map을 사용할 수 있습니다.

 

 

 

List

 

  • 순서가 있는 컬렉션으로, 요소들의 순서가 유지되므로 인덱스를 사용하여 접근 가능
  • 중복 가능
  • List 인터페이스를 구현하는 클래스 : ArrayList, LinkedList, Vector 등
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        fruits.add("Apple");

        System.out.println("List 출력: " + fruits);
        System.out.println("첫 번째 요소: " + fruits.get(0));
        System.out.println("요소 개수: " + fruits.size());
    }
}

 

List 출력: [Apple, Banana, Orange, Apple]
첫 번째 요소: Apple
요소 개수: 4

 

 

 

Set 

 

  • 순서가 없는 컬렉션으로, 요소들의 순서가 보장되지 않아 인덱스로 접근 불가능
  • 중복 불가능. 동일한 요소를 중복해서 추가하려고 하면 무시됨
  • Set 인터페이스를 구현하는 클래스 : HashSet, TreeSet 등
import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Set<String> colors = new HashSet<>();
        colors.add("Red");
        colors.add("Blue");
        colors.add("Green");
        colors.add("Red");

        System.out.println("Set 출력: " + colors);
        System.out.println("요소 개수: " + colors.size());
        System.out.println("Blue 포함 여부: " + colors.contains("Blue"));
    }
}
Set 출력: [Red, Green, Blue]
요소 개수: 3
Blue 포함 여부: true

 

 

Map

 

  • 키(Key)와 값(Value)의 쌍으로 이루어진 데이터를 저장하는 컬렉션
  • 순서가 없는 컬렉션으로, 요소들의 순서가 보장되지 않아 인덱스를 사용하여 접근 불가능
  • 키는 고유해야 하고, 중복한 키를 가지는 데이터를 저장할 수 없음
    • 값은 중복될 수 있음
  • Map 인터페이스를 구현하는 클래스 : HashMap, TreeMap, LinkedHashMap 
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, Integer> studentScores = new HashMap<>();
        studentScores.put("Alice", 80);
        studentScores.put("Bob", 92);
        studentScores.put("Charlie", 75);

        System.out.println("Map 출력: " + studentScores);
        System.out.println("Bob의 점수: " + studentScores.get("Bob"));
        System.out.println("Charlie의 점수: " + studentScores.get("Charlie"));
        System.out.println("키 개수: " + studentScores.size());
    }
}
Map 출력: {Charlie=75, Bob=92, Alice=80}
Bob의 점수: 92
Charlie의 점수: 75
키 개수: 3
728x90
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!