List 및 Set 두 인터페이스 모두 Collection 프레임워크에 속합니다. 두 인터페이스 모두 Collection 인터페이스를 확장합니다. 둘 다 개체 컬렉션을 단일 단위로 저장하는 데 사용됩니다.
jdk1.2 이전에는 객체를 단일 단위로 그룹화하기 위해 배열, 벡터 및 해시 테이블을 사용했습니다.
Sr. 아니요. | 키 | 목록 | 설정 |
---|---|---|---|
1 | 위치 액세스 | 목록은 컬렉션의 요소에 대한 위치 액세스를 제공합니다. | Set은 컬렉션의 요소에 대한 위치 액세스를 제공하지 않습니다. |
2 | 구현 | List의 구현은 ArrayList, LinkedList, Vector, Stack입니다. | set 인터페이스의 구현은 HashSet 및 LinkedHashSet입니다. |
3 | 중복 | 목록에 중복 요소를 저장할 수 있습니다. | Set에 중복 요소를 저장할 수 없습니다. |
4 | 주문 | 목록은 컬렉션에 있는 요소의 삽입 순서를 유지합니다. | 세트는 어떤 순서도 유지하지 않습니다 |
5 | 널 요소 | 목록은 여러 null 요소를 저장할 수 있습니다. | 세트는 하나의 null 요소만 저장할 수 있습니다. |
목록의 예
import java.util.List; import java.util.ArrayList; import java.util.LinkedList; public class ListExample { public static void main(String[] args) { List<String> al = new ArrayList<String>(); al.add("BMW"); al.add("Audi"); al.add("BMW"); System.out.println("List Elements: "); System.out.print(al); } }
출력
List Elements: [BMW, Audi, BMW]
집합의 예
import java.util.Set; import java.util.HashSet; import java.util.TreeSet; public class SetExample { public static void main(String args[]) { int count[] = {2, 4, 3, 5}; Set<Integer> hset = new HashSet<Integer>(); try{ for(int i = 0; i<4; i++){ hset.add(count[i]); } System.out.println(hset); } catch(Exception e){ e.printStackTrace(); } } }
출력
[2, 4, 3, 5]