두 인터페이스 모두 Collection에서 상속됩니다.
List(inteface)
순서는 요소의 특정 순서가 유지되도록 보장하는 List의 가장 중요한 기능입니다.
— —ArrayList 요소에 대한 빠른 무작위 액세스를 허용합니다.
- LinkedList는 목록 중간에 삽입하고 제거하는 오버헤드가 크지 않습니다. RemoveLast(). 이 메서드를 사용하면 LinkedList를 스택/큐/양방향 대기열로 사용할 수 있습니다.
Set(inteface)
Set에 저장된 각 요소는 고유해야 하며 순서는 요소가 유지된다는 보장은 없습니다. 개체는 빠른 검색을 위해 설계된 Set인 equals() 메서드
를 정의해야 하며, HashSet에 저장된 개체는 hashCode()를 정의해야 합니다. --순서를 보호하는 Set인 TreeSet은 Ordered 시퀀스를 사용하여 Set에서 추출할 수 있습니다.
--LinkedHashSet은 HashSet의 쿼리 속도를 가지며 내부적으로 연결 목록을 사용하여 요소의 순서를 유지합니다. 🎜>
저장 방법이 다릅니다.
TreeSet은 빨간색과 검정색을 사용합니다. 요소는 트리 구조에 따라 정렬됩니다.
HashSet은 빠른 쿼리를 위해 특별히 설계된 해시 함수를 사용합니다. .LinkedHashSet은 내부적으로 해싱을 사용하여 쿼리 속도를 높이는 동시에 연결 목록을 사용하여 요소의 순서를 유지합니다.
HashSet/TreeSet을 사용할 때 클래스에 대해 equals()를 정의해야 합니다. HashSet의 경우 프로그래밍 방식으로 equals()가 재정의되면 hashCode()도 재정의되어야 합니다.
Java에서 Set과 List의 관계 및 차이점에 대한 더 많은 관련 기사를 보려면 다음을 참조하세요. PHP 중국어 웹사이트!